List

一、实现类

ArrayList:数组,查询快

LinkedList:链表,增删快

二、常用方法

List常用方法

三、声明、初始化、赋值

List strList;
int i;
List strList = null; // 等同于仅声明
声明:仅声明存在,不分配内存(但是会赋默认值null/0)。可以使用System.out.println();输出为null/0,不能使用isEmpty()等方法会报空指针异常错误
 
List strList = new ArrayList<>(); // 初始化为空list
List strList = List.of('a', 'b', 'c');
初始化:分配内存,并赋初始值。此时的list已初始化为空list(分配内存,并赋初始值),打印结果为[],可以调用isEmpty()方法
 
strList = Arrays.asList("d", "e")
赋值,修改指向地址

四、排序

Java中,关于List的排序可以通过Collections.sort(List<T> list)或使用list.sort(Comparator<T> comparator)来实现

4.1 Collections.sort(List<T> list) 

// 1、直接排序
Collections.sort(list);
// 2、自定义Comparactor排序
Collections.sort(formats, Comparator.comparingInt(Format::getPriority));

4.2 list.sort(Comparator<T> comparator)【用这个就行】

List<Integer> list = new ArrayList<>();
list.add(5);
list.add(7);
list.add(2);
list.add(9);
list.sort(Comparator.comparingInt(x -> x));

说明:List的排序操作是线程不安全的,并发情况会出现ConcurrentModificationException

解决办法:使用线程安全的List,如CopyOnWriteArrayList,或者在排序时使用synchronized关键字

posted @ 2024-08-09 00:26  zhegeMaw  阅读(51)  评论(0)    收藏  举报