java - 使 ArrayList 元素不区分大小写

标签 java collections case-insensitive

在我的 Java 应用程序中,我需要比较两个列表的元素是否相似。

简而言之,假设我声明了两个列表,如下所示

List<String> a = new ArrayList<String>();
    a.add("one");
    a.add("three");
    a.add("two");
Collections.sort(a);


List<String> a1 = new ArrayList<String>();
    a1.add("ONE");
    a1.add("two");
    a1.add("THREE");
Collections.sort(a);

如果我写一个相等条件,它会失败,因为某些列表元素的大小写不同,比如

if(a.equals(a1)){
    System.out.println("equal");
} else{
    System.out.println("not equal");
}

它会显示结果“不等于”

所以请告诉我如何使列表元素仅在 Java 语言中不区分大小写。

感谢和问候

最佳答案

为什么不使用带有不区分大小写的比较器的 SortedSet 呢? 随着String.CASE_INSENSITIVE_ORDER比较器

你的代码被简化为

Set<String> a = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
    a.add("one");
    a.add("three");
    a.add("two");


Set<String> a1 = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
    a1.add("ONE");
    a1.add("two");
    a1.add("THREE");

你的平等条件应该没有任何问题

EDIT 根据评论修改。感谢大家指正。

关于java - 使 ArrayList 元素不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3529025/

相关文章:

java - 将使用 AWT 和 Swing 绘制电影的 Java 应用程序移植到服务器端

java - 如何找到 Collection 类型?

elasticsearch - Elasticsearch 6.2 中没有规范化的完全匹配、不区分大小写的匹配

java - Ibatis/Ibator - 如何使用示例类和条件正确编写 "complex"WHERE 子句?

java - stream.spliterator() 是否关闭流?

java - 对 Bean 的 Arraylist 的 Arraylist 进行排序

java - 检查一个数组是否包含在另一个数组中的标准 API 方法

javascript - 如何使正则表达式不区分大小写?

php - 不区分大小写但敏感

java - 从数组的数组中读取任意长度的数组