首页 > 代码库 > List 的主要实现类:ArrayList

List 的主要实现类:ArrayList

由于存储的是有序可重复的元素,List 接口增加了几个方法
注意:所有执行过程中需要“比较”的方法(比如 int indexOf(Object o)需要比较元素 o 与当前位置的元素是否相同)都要调用 equals( ) 方法,所以一定要注意重写 equals( ) 方法

  1. public class Testlist {
  2. public static void main(String[] args) {
  3. // 1.void add(int index , E element):
  4. // 在指定的index位置插入E类型元素element,index及之后的元素依次往后挪一位
  5. List list1 = new ArrayList();
  6. list1.add(1);
  7. list1.add(3);
  8. list1.add(4);
  9. System.out.println(list1);// [1, 3, 4]
  10. list1.add(1, 2);
  11. System.out.println(list1);// [1, 2, 3, 4]
  12. // 2.E get(int index):获取指定位置的元素
  13. System.out.println(list1.get(0));// 1
  14. // 3.boolean addAll(int index,Collection c):
  15. // 在指定的index位置插入集合c,若原集合改变,返回true
  16. List list2 = new ArrayList();
  17. list2.add(-1);
  18. list2.add(0);
  19. System.out.println(list1.addAll(0, list2));// true
  20. System.out.println(list1);// [-1, 0, 1, 2, 3, 4]
  21. // 4.E remove(int index):删除指定的index位置的元素,index及之后的元素依次往前顶一位,返回该位置被删除的元素
  22. System.out.println(list1.remove(0));// -1
  23. System.out.println(list1);// [0, 1, 2, 3, 4]
  24. // 5.E set(int index,E element):把指定的index位置的元素设为element(替换),返回该位置被替换的元素
  25. System.out.println(list1.set(0, "start"));// 0
  26. System.out.println(list1);// [start, 1, 2, 3, 4]
  27. // 6.int indexOf(Object o):返回指定对象o首次出现在该集合时的位置,若集合中没有该元素则返回-1
  28. list1.add(1);
  29. System.out.println(list1);// [start, 1, 2, 3, 4, 1]
  30. System.out.println(list1.indexOf(1));// 1
  31. System.out.println(list1.indexOf(5));// -1
  32. // 7.int lastIndexOf(Object o):返回指定对象o最后一次出现在该集合时的位置,若集合中没有该元素则返回-1
  33. System.out.println(list1.lastIndexOf(1));// 5
  34. System.out.println(list1.lastIndexOf(5));// -1
  35. System.out.println(list1.indexOf(3) == list1.lastIndexOf(3));// true
  36. // 8.List subList(int fromIndex,int toIndex):
  37. // 返回集合中从fromIndex位置开始,到toIndex位置结束的一个左闭右开的“子集”
  38. List subList1 = list1.subList(0, 2);
  39. System.out.println(subList1);// [start, 1]
  40. }
  41. }

List 的主要实现类:ArrayList