开发工具与关键技术:JAVA List
作者:听民谣的老猫
撰写时间:2020/12/18 15:30
List集合体系结构:
List特点:有序的(存储和读取的顺序是一致的) ,有整数索引 ,允许重复的
List的特有功能:
- //void add(int index, E element) : 在指定索引位置添加指定元素
list.add(0, "hello");
- //E get(int index) :根据索引返回元素
System.out.println(list.get(0));
- //E remove(int index) : 删除指定元素并返回
System.out.println(list.remove(5));
- //E set(int index, E element) : 将指定索引位置的元素替换为指定元素,并将原先的元素返回
System.out.println(list.set(0, "android"));
ArrayList集合
public class CollectionDemo {
public static void main(String[] args) {
//创建集合对象
ArrayList al = new ArrayList();
//添加元素
al.add("hello");
al.add("world");
al.add("java");
}
}
ArrayList集合的一些常用功能:
- //boolean add(E e)
System.out.println(c.add("hello"));//永远可以添加成功,因为ArrayList他允许重复
- //void clear():清空集合
c.clear();
- //boolean contains(Object o) :判断集合中是否包含指定元素
System.out.println(c.contains("java"));
- //boolean isEmpty() :是否为空
System.out.println(c.isEmpty());
- //boolean remove(Object o) :删除元素
System.out.println(c.remove("java"));
- //int size() :返回集合中的元素个数
System.out.println(c.size());
- //Object[] toArray() :将集合转换成一个Object类型的数组
Object[] objs = c.toArray();
for (int i = 0; i < objs.length; i++) {
System.out.println(objs[i]);
}
LinkedList集合
(与ArrayList一同属于list子体系创建方式和ArrayList一样,只是有一些属于它的方法体。)
- //void addFirst(E e) :将元素添加到索引为0的位置
list.addFirst("java");
- //void addLast(E e) :将元素添加到索引为size()-1的位置
list.addLast("android");
- //E getFirst() :获取索引为0的元素
System.out.println(list.getFirst());
- //E getLast() :获取索引为size()-1的元素
System.out.println(list.getLast());
- //E removeFirst() :删除索引为0的元素并返回
System.out.println(list.removeFirst());
- //E removeLast() :删除索引为size()-1的元素并返回
System.out.println(list.removeLast());
随堂笔记:
* ArrayList底层是数组结构,查询快,增删慢
* LinkedList底层结构是链表,查询慢,增删快
*
* 如何选择使用不同的集合?
* 如果查询多,增删少,则使用ArrayList
* 如果查询少,增删多,则使用LinkedList
* 如果你不知道使用什么,则使用ArrayList