无需自定义Comparator使用Collections.sort()排序LinkedList遇导入问题求助
问题解决:Collections无法解析的问题
你遇到的Collections无法解析问题,虽然已经导入java.util.*,但Eclipse偶尔会出现索引或缓存异常,试试以下几种解决方式:
- 清理并重建项目:点击顶部菜单
Project > Clean,选中当前项目执行清理,之后重启Eclipse。 - 检查构建路径:右键项目 →
Build Path > Configure Build Path,确认JRE System Library是正常可用的版本(Java 8及以上),无缺失或错误配置。 - 手动导入Collections:在
import java.util.*;下方添加import java.util.Collections;,强制Eclipse识别该类,这是最快速的临时解决办法。
另外你的代码本身没问题:Character类实现了Comparable接口,所以Collections.sort(lnk_List1)不需要自定义Comparator就能按字符的自然顺序(ASCII码)完成排序。
自定义Comparator实现指导(按需使用)
如果需要自定义排序规则(比如倒序、忽略大小写等),可以参考以下示例:
示例1:字符倒序排序
// 匿名内部类写法 Collections.sort(lnk_List1, new Comparator<Character>() { @Override public int compare(Character c1, Character c2) { return c2.compareTo(c1); // 倒序对比 } });
示例2:Java 8+ Lambda简化写法
// 简洁的Lambda表达式 Collections.sort(lnk_List1, (c1, c2) -> c2.compareTo(c1)); // 或者用Comparator静态工具方法 Collections.sort(lnk_List1, Comparator.reverseOrder());
示例3:忽略大小写排序(仅针对字母字符)
Collections.sort(lnk_List1, new Comparator<Character>() { @Override public int compare(Character c1, Character c2) { // 转小写后比较,实现大小写不敏感排序 return Character.toLowerCase(c1) - Character.toLowerCase(c2); } }); // Lambda版本 Collections.sort(lnk_List1, (c1, c2) -> Character.toLowerCase(c1) - Character.toLowerCase(c2));
内容的提问来源于stack exchange,提问作者user21386103
相关产品推荐
相关产品推荐

