java集合框架02

Posted 丿少女梦丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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());
		}
	}
}

  

以上是关于java集合框架02的主要内容,如果未能解决你的问题,请参考以下文章

java集合框架02

java集合框架02

Java笔记(16):集合框架(02)

[Java复习02] 集合框架Collection - 面试题小结

Java集合框架 Set接口实现类--TreeSet补充: Comparator接口

JAVASE02-Unit03: 日期操作 集合框架