List
一、实现类
ArrayList:数组,查询快
LinkedList:链表,增删快
二、常用方法
三、声明、初始化、赋值
List<String> strList;
此时list为声明状态,不可以使用System.out.println();直接输出,不能使用isEmpty()等方法
List<String> strList =null;
此时的list已初始化(没有指向地址),但可以进行输出打印,打印结果为null;不可以调用isEmpty()等方法,会报空指针异常错误
List<String> strList = new ArrayList<>();
赋值,此时list已初始化(包含指向地址),可以进行打印输出和调用isEmpty()方法
https://blog.csdn.net/qq_40690077/article/details/109078503
四、排序
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关键字
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话