一、List增删改
list具有数组的特性,将数组进行包装。
添加 | add()、add(下标,值) | |
删除 | remove(值)、remove(下标) | Collection下的remove是传的值,List是下标 |
修改 | set(下标,值) | |
获取 | get(下标) | |
判断是否空 | isEmpty() | 返回值为bool类型 |
清空 | clear() | |
是否包含 | contains(值) | 元素个数必须完全一样才会是TRUE |
是否为子集 | containsAll(子集) | |
取交集 | retainAll | |
删除交集 | removeAll | |
翻转 | reverse | |
获取子集 | list2.subList(0,6) | subList(开始下标,结束下标),含头不尾 |
二、迭代器 Iterator
迭代器主要用于遍历集合,并对遍历集合操作
Iterator it = c1.iterator();
while (it.hasNext()) {
//hasNext()方法判断是否有下一个元素,返回值为boolean类型
String str = (String) it.next();//指向元素并取出
System.out.println(str);
}
三、新for(增加for循环)
for(接收类型 名 :需要遍历的集合/数组){
}
//增加for循环,新型for循环
for (String str:d1) {
System.out.println(str);
}
四、泛型<>、<E>
List<String> list = new ArrayList();规定类型,泛型<>只放引用类型。
<E>的作用,没有规定的话,是object类型
public class Arrytest<E> {
int age;
String name;
E jb;
public static void main(String[] args) {
Arrytest arrytest = new Arrytest();
arrytest.age = 10;
arrytest.name = "hyj";
arrytest.jb = 0.5;
arrytest.jb = 2;
arrytest.jb = "null";
Arrytest<Integer> arrytest1 = new Arrytest();
arrytest1.jb = 6;
}
}
五、集合和数组转换
数组转集合
String[] array = {"1", "2", "3", "4", "5", "6"};
List<String> list = Arrays.asList(array);
数组转换集合任何一方改变都会改变,不可增加元素。
集合转数组
Collection<String> c1 = new ArrayList();
String[] arry = c1.toArray(new String[0]);
List<String> list2=new ArrayList<>(list);//等同于先new再addAll();
//去除重复元素,可以先将list转换为HashSet