概念
- List子接口就是Collection的接口,所以他也就需要实现类
- 特点:有序 有下标 元素可以重复
代码
package List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class Test1 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("苹果");
list.add("小米");
list.add(0,"华为");
System.out.println(list.size());
System.out.println(list);
System.out.println("---------使用for循环-------------------");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("----------使用foreach循环--------------");
for (Object o : list) {
System.out.println(o);
}
System.out.println("-------------使用普通迭代器 iterator-------------");
Iterator iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
System.out.println("---------使用ListIterator从前往后-------------");
ListIterator listIterator = list.listIterator();
while(listIterator.hasNext()){
System.out.println(listIterator.next());
}
System.out.println("---------使用ListIterator从后往前-------------");
while(listIterator.hasPrevious()){
System.out.println(listIterator.previous());
}
System.out.println(list.contains("小米"));
System.out.println(list.contains("红米"));
System.out.println(list.isEmpty());
}
}
- 注意:List接口里面提供了一个ListIterator的新迭代器,这个迭代器比普通的iterator功能更加强大,可以从后往前遍历,只不过就需要next让指针到最后一个
数字代码
package List;
import java.util.ArrayList;
import java.util.List;
public class Test2 {
public static void main(String[] args) {
List list = new ArrayList();
list.add(20);
list.add(30);
list.add(40);
list.add(50);
list.add(60);
System.out.println(list.size());
System.out.println(list);
list.remove(new Integer(30));
list.remove((Object) 20);
System.out.println(list.size());
System.out.println(list.subList(0,2));
}
}
- 这里的话,用remove方法最简单的就是通过下标访问,因为说他是添加数字,其实也不可以做什么运算的啦,如果你想通过值比较,可以强转成Object类型或者实例化Integer来比较,因为在源代码里,他们比较的是值