List
- List继承于Collection
- List接口可以存放任意的数据,而且在List接口中内容是可以重复的
- List接口常用子类:
- ArrayList:异步处理,性能高-----非线程安全
- Vector:同步处理,性能低------线程安全
- 常用操作:
- 判断集合是否为空:boolean isEmpty()
- 查找指定的对象是否存在:int indexOf(Object o)
- 接口List ----------(E是泛型)
List常用方法
List<String> lists = new ArrayList<String>();
//add
lists.add("A");
lists.add("B");
//取数据
for (int i = 0; i < lists.size(); i++) {//.size()--->返回列表中元素数---int
System.out.println(lists.get(i));//.get()--->得到元素------对比Collection
}
/*
List接口中常用方法:
增加: add(int index, E element)
删除: remove(int index) remove(Object o)
修改: set(int index, E element)
查看: get(int index)
判断:
*/
List list = new ArrayList();//List是接口--->用实现类创建对象(接口不能直接实例化,只能实例化其子类)
list.add(13);
list.add(17);
list.add(6);
list.add(-1);
list.add(2);
list.add("abc");
System.out.println(list);//就是调ArrayList的toString
//在下标为3的位置上,填上元素66
list.add(3,66);
System.out.println(list);
//在下标为3的位置,把元素改成77
list.set(3,77);
System.out.println(list);
//remove 有重载
list.remove(2);//下标为2被删(而不是2这个数据被删)-->在集合中存入的是Integer类型数据的时候,调用remove方法,调用的是remove(int index)
System.out.println(list);
list.remove("abc");//删除“abc”
System.out.println(list);
//get
Object o = list.get(0);//查看得到的不知道是声明类型数据--->用Object接收
System.out.println(o);
//List集合,遍历
System.out.println("========");
//方式1:普通for循环
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));//因为List有获取当前索引对应的元素的方法,故可以用普通for
}
System.out.println("========");
//方式2: 增强for
for (Object o1 : list) {
System.out.println(o1);
}
System.out.println("========");
//方式3: 迭代器
Iterator iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}