java.util.List接口 extends Collection接口
List接口的特点:
1.有序的集合,存储元素和取出元素的顺序是一致的(存储123取出123)
2.有索引,包含了一些带索引的方法
3.允许存储重复的元素
List接口中带索引的方法(特有)
public void add(int index, E element):将指定的元素,添加到该集合中的指定位置上。
public E get(int index):返回集合中指定位置的元素。
public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素。
public E set(int index,E element):用指定元素替换集合中指定位置的元素,返回值是更新前的元素。
//创建一个List集合,多态
List<String> list = new ArrayList<>();
list.add("a);
list.add("b);
list.add("a);
//public void add(int index, E element):将指定的元素,添加到该集合中的指定位置上。
list.add(2,"niubi");
//public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素。
list.remove(1);
//public E set(int index,E element):用指定元素替换集合中指定位置的元素,返回值是更新前的元素。
list.set(1,"哈哈");
-
ArrayList集合(List子集,util包)
- 底层是一个数组:查询快,增删慢
- 不能滥用ArrayList集合,看情况来用,如果查询较多,那就用ArrayList,反之
-
LinkedList集合(List子集,util包)
- LinkedList集合,底层是一个双向链表结构,查询慢,增删快
- 里面包含了大量操作首尾元素的方法
public void addFirst(E e) :将指定元素插入此列表的开头。 public void push(E e) :将元素推入此列表所表示的堆栈。也就是插入到开头,跟addFirst()一样的效果 public void addLast(E e) :将指定元素添加到此列表的结尾.跟add()一样的效果 public E getFirst() :返回此列表的第一个元素。 public E getLast() :返回此列表的最后一个元素。 public E removeFirst() :移除并返回此列表的第一个元素。 public E removeLast() :移除并返回此列表的最后一个元素。 public E pop() :从此列表所表示的堆栈处弹出一个元素。也就是移除第一个元素,跟removeFirst()效果一样 public boolean isEmpty() :如果列表不包含元素,则返回tru
-
Vector集合(最古老的,了解一下)
- Vector是同步的,也就是说单线程,所以被后来可以多线程的ArrayList集合代替了
- 可以去jdk看