集合知识总结
Collecion Map
Collecion 单列数据 Map 双列数据
List 有序可重复有索引单列 Set 不可重复数据
这些集合都是接口
-
接口List
实现类主要有 Arraylist(查询快,增删慢) LinkedList(链表式,查询慢,增删快)
-
接口Set
实现类主要有HashSet TreeSet
iterator迭代器,集合的专用元素遍历
1 通过集合器对象获取迭代器对象
Iterator<type> it=c.iterator();
2 通过迭代器对象的hasNext()方法判断是否还有元素
3 通过迭代器对象的next()方法获取下一个元素
4 主要方法为hasNext() Next()
Set如何保证数据没有重复,set没有索引,不能用普通for输出
HashSet对集合的迭代顺序不做任何保证
*同一个对象的哈希码值是相同的,不同对象的哈希值是不同的
-
LinkedHashSet 不可重复有序输出
-
TreeSet 可以按照一定规则进行排序
无参构造自然排序,带参构造比较器排序
不可查重复,不可用普通for循环 -
自然排序Comparable的使用
**将类改为接入接口,且对compareTo的方法更改,
**可以对类的不同元素选择进行排序
**且需要根据主要条件和次要条件进行更改
比较器comparator的使用
在list括号中定义比较方法
TreeSet<Student> sth=new TreeSet<Student>(new Comparator<Student>(){
public int compare(Student s1,Student s2) {
int num=s2.getSum()-s1.getSum();
return num;
}
});