• java集合框架02


    public class ListTest {
    
    	public static void main(String[] args) {
    		//创建几个新闻对象
    		News news1=new  News(1, "新闻1");
    		News news2=new  News(2, "新闻2");
    		News news3=new  News(3, "新闻3");
     		//创建一个List集合
    		List list=new ArrayList(); //现在 集合中存放的Object
    		 list.add(1);
    		 list.add("abc");
    		 list.add(news1);
    		//遍历集合
    		 for (Object object : list) {
    			System.out.println(object);
    		}
    		 
    		 
    		 System.out.println("**************************");
    		/*
    		 * 现在 我只想存放 News 新闻 
    		 * 泛型集合
    		 * 在创建集合的时候,就已经规定了 集合中允许存放的类型!
    		 * 如果后续进行新增操作时候,插入了类型不一致的数据,会编译报错!
    		 */
    		List<News>  news=new ArrayList<News>();  //new ArrayList();
    		 //news.add(1);  编译报错
    		//news.add(null);  可以存放 Null		 
    		news.add(news1);		 
    		news.add(news2);		 
    		news.add(news3);
    		System.out.println("集合的大小:"+news.size());  //4
    		//遍历
    		for (News n : news) {
    			System.out.println(n.getTitle());  //不需要强制类型转化 直接输出
    		}
    		System.out.println("***********************");
    		
    		
    		//List <int> i=new ArrayList();  不能使用基本数据类型
    		List<Integer> i=new  ArrayList();  //对应类型的封装类
    		List<String> s=new  ArrayList();  //只能存放String类型
    		
    	}
    }
    
    
    
    
    Map的泛型集合
    
    public class Student {
    	private  Integer  studentNo;  //学生的编号  是唯一的
    	private  String  name;
    	private  Integer  age;
    	private  String  sex;
    	
    	@Override
    	public String toString() {
    		return "Student [studentNo=" + studentNo + ", name=" + name + ", age="
    				+ age + ", sex=" + sex + "]";
    	}
    	public Student() {
    		super();
    	}
    	public Student(Integer studentNo, String name, Integer age, String sex) {
    		super();
    		this.studentNo = studentNo;
    		this.name = name;
    		this.age = age;
    		this.sex = sex;
    	}
    	
    	public Integer getStudentNo() {
    		return studentNo;
    	}
    	public void setStudentNo(Integer studentNo) {
    		this.studentNo = studentNo;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getSex() {
    		return sex;
    	}
    	public void setSex(String sex) {
    		this.sex = sex;
    	}
    	
    	public Integer getAge() {
    		return age;
    	}
    	public void setAge(Integer age) {
    		this.age = age;
    	}
    }
    
    
    public class MapTest {
    	public static void main(String[] args) {
    		/*
    		 * 创建一个Map的泛型集合
    		 * 之前
    		 * Map   map=new HashMap();
    		 * key和value全都是 Object类型
    		 */
    		Map   m=new HashMap();
    		m.put(1, 2);
    		m.put("1","2");
    		m.put(1.0, 2.0);
    		System.out.println("map集合的大小:"+m.size());  //3
    		System.out.println("************************************");
    		
    		
    		//创建几个新闻对象
    		Student stu1=new Student(1, "奥黑驴1", 1000, "女");
    		Student stu2=new Student(2, "奥黑驴2", 10000, "女");
    		Student stu3=new Student(3, "奥黑驴3", 1000, "女");
    		//泛型集合   key只能是Integer
    		Map<Integer,Student> map=new HashMap<Integer, Student>();
    		//map.put(1, 1); 默认装箱操作  int基本数据类型转换成Interge封装类
    		map.put(stu1.getStudentNo(), stu1);
    		map.put(stu2.getStudentNo(), stu2);
    		map.put(stu3.getStudentNo(), stu3);
    		//遍历之前获取keySet
    		Set<Integer> keySet = map.keySet();
    		//01. for加强
    		for (Integer key : keySet) {
    			//根据key取得对应的Student对象
    			System.out.println(map.get(key));
    		}
    		System.out.println("***************************");
    		//02. iterator
    		Iterator<Integer> it = keySet.iterator();
    		while (it.hasNext()) {
    			/*Integer key=it.next();
    			map.get(key);*/
    			System.out.println(map.get(it.next()));
    		}
    		System.out.println("***************************");
    		/*
    		 * 03. entrySet() 同时可以获取 key和value 
    		 *    之前都是先获取key 之后拿key取得value
    		 */
    		Iterator iterator = map.entrySet().iterator();
    		while (iterator.hasNext()) {
    			Entry entry = (Entry) iterator.next();
    			System.out.println("map的key===>"+entry.getKey());
    			System.out.println("map的value===>"+entry.getValue());
    		}
    	}
    }
    

      

  • 相关阅读:
    [轉]SQLServer : EXEC和sp_executesql的区别
    CSS 中文字体
    [转]71种 menu css源码
    DataTable做為數據源手動分頁
    [轉]9个优秀的基于 JavaScript 与 CSS 的 Web 图表框架
    [轉]10 Tools to help you select a Web 2.0 Color Palette
    [轉]ASP模拟POST提交请求上传文件
    Web配色資源
    [轉]sqlhelper 下载 使用指南
    [轉]查看SQL Server数据库连接
  • 原文地址:https://www.cnblogs.com/HHR-SUN/p/7015655.html
Copyright © 2020-2023  润新知