集合部分注意的问题:1.各个接口的特点;
2.遍历。
3.集合能进行的操作。
4.其实现类的差异。
1.Collection接口的实现类中的元素是对象Object.
集合类:集合可以容纳、管理多个对象。
List接口:其实现类存储的元素有顺序,元素可以重复,实现类:Arraylist。
Set接口:其实现类存储的元素无顺序,元素不可以重复。Set里面有一个SortedSet子接口,可以
自动排序。
2.Map接口:(Key---value)key(键) 是唯一的,value(值)可以重复。里面有一个子接口SortedMap,是
排好顺序的,是对键排序的。
3.迭代遍历并输出: static void print(Collection con){
Iterator it=con.iterator();
while(it.hasNext()){
Object o= it.next();
System.out.println(o);
}
}
Collections.sort(List list)方法只能对实现了List接口的某个类的某个对象中的元素进行排序,例如:可以对ArrayList中的元素排序,可以对LinkedList中的元素排序,可以对Vector中的元素排序。
4.
只有实现了Comparable接口(即实现compareTo()方法)(在lang包里,不用导入)
的类的对象才能实现排序。即集合类中存储的对象,只有这些对象都是已经实现了Comparable接口(实现compareTo()方法)的类的对象,则才可以对这些对象进行排序。这些对象必须是同一个类的对象,否则不能比较!!
public int compareTo(Object o){
Student s=(Student) o;
if(this.age<s.age) return -1;
else if(this.age>s.age) return 1;
else return 0;
}
实现compareTo方法时,public int compareTo(Object obj)保证如果this>obj return 1;如果this <0bj 则 return -1,否则return 0; 即可。此时,collections.sort(XX);排序出来的就是升序排列。