(16)List集合
一.ArrayList
contains(); //判断是否包含,底层是.equals方法,比较对象内容时,需要重写remove(); //判断是否删除,同上
二.泛型
方法泛型最好与类的泛型一致,如果不一致,需要在该方法上声明该泛型 例如:public<T> void show(T t){}静态方法必须声明自己的泛型泛型通配符<?> ? extends E //固定上边界,E及其子类 ? super E //固定下边界,E及其父类增强for 快捷键:fore + alt/普通for循环,在删除集合中元素时,索引要 -- list.remove(i--); //防止漏删迭代器删除 it.remove(); //使用迭代器的删除增强for循环,不能删除,只能遍历数组转换成集合 List list = Arrays.asList(arr); //数组转换成集合不能增加或减少元素 //但可以用集合的思想操作数组,可使用集合的方法基本数据类型转换成集合,会将整个数组当作一个对象转换String[] arr = list.toArray(new String[1]); //当集合转换数组时,数组的长度如果小于等于集合的size时, 转换后的数组长度等于集合的size如果数组的长度大于了size,分配的数组长度就和指定的长度一样
(17)Set集合
TreeSet集合是用来对象元素进行排序的,同样它也可以保证元素的唯一 集合中的对象元素要实现Compareable接口 当compareTo方法返回0的时候集合中只有一个元素 当compareTo方法返回正数的时候集合会怎么存就怎么取 当compareTo方法返回负数的时候集合会倒序存储两种排序方式: TreeSet构造函数什么都不传,默认按照类中Comparable的顺序 TreeSet如果传入Compatator,就会优先按照Comparator 在传入比较器时可以用匿名内部类 TreeSet ts = new TreeSet(new Comparator(){重写方法});