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)用指定元素替换集合中指定的位置的元素,返回值是更新前的元素
代码实现:
public class Demo{
public static void main(){
List<String> list=new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
System.out.println(list);
//public void add(int index, E element)
list.add(3,"it");
//public E remove(int index)移除列表中指定的为位置,放回被移除的元素。
String removeE=list.remove(2);
System.out.println(removeE);
//public E set(int index, E element)用指定元素替换集合中指定的位置的元素,返回值是更新前的元素
list.set(3,"A");
}
}
1.ArrayList集合
存储的结构是数组结构。元素增删慢,查找慢。
2.LinkedList
存储的结构是链表结构。查询慢,增删慢。
.常用方法
.public void addFirst(E e) 将指定元素插入此列表的开头
.public void addList(E e) 将指定元素添加到此列表的结尾
.public void push(E e) 将元素推入此列表所表示的栈。等效于addFirst
.public E getFirst() 返回此列表的第一个元素
.public E getLast() 返回此列表的最后一个元素
.public E removeFirst() 移除并返回此列表的第一个元素
.public E removeLast() 移除并返回列表的最后一个元素
.public E pop() 从此列表所表示的栈弹出一个元素相当于removeFirst
.public boolean isEmpty()如果列表不包含元素,则返回true。
public class Demo1{
public static void main(){
//使用LinkedList集合特有的方法,不能使用多态。
ArrayList<String> arr=new ArryList<>();
arr.add("a");
arr.add("b");
arr.add("c");
arr.add("d");
//public void addFirst(E e) 将指定元素插入此列表的开头
//public void addList(E e) 将指定元素添加到此列表的结尾
//public void push(E e) 将元素推入此列表所表示的栈。等效于addFirst
arr.addFirst("www");
arr.push("push");
arr.addLast("ttt");
//.public E removeFirst() 移除并返回此列表的第一个元素
//.public E removeLast() 移除并返回列表的最后一个元素
//.public E pop() 从此列表所表示的栈弹出一个元素
}
}