Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用此代码从arraylist中删除重复项,但忽略大小写_Java_Arraylist_Duplicate Removal_Case Insensitive - Fatal编程技术网

Java 使用此代码从arraylist中删除重复项,但忽略大小写

Java 使用此代码从arraylist中删除重复项,但忽略大小写,java,arraylist,duplicate-removal,case-insensitive,Java,Arraylist,Duplicate Removal,Case Insensitive,好的,所以没有什么真正打动了我,因为它是一个好的代码集,可以删除ArrayList中的重复项,而不创建一个全新的数组,除了来自CarlJohn的代码。我试着回应,但我的代表分数太低了。。。。还是 所以代码运行得很好,除了一个异常,它没有忽略这个情况,所以我仍然得到了重复的代码 ArrayList<String> lst = new ArrayList<String>(); lst.add("ABC"); lst.add("ABC"); lst.add("ABCD"); l

好的,所以没有什么真正打动了我,因为它是一个好的代码集,可以删除ArrayList中的重复项,而不创建一个全新的数组,除了来自CarlJohn的代码。我试着回应,但我的代表分数太低了。。。。还是

所以代码运行得很好,除了一个异常,它没有忽略这个情况,所以我仍然得到了重复的代码

ArrayList<String> lst = new ArrayList<String>();
lst.add("ABC");
lst.add("ABC");
lst.add("ABCD");
lst.add("ABCD");
lst.add("ABCE");

System.out.println("Duplicates List " + lst);

Object[] st = lst.toArray();
for (Object s : st) {
    if (lst.indexOf(s) != lst.lastIndexOf(s)) {
        lst.remove(lst.lastIndexOf(s));
    }
}

System.out.println("Distinct List "+lst);

因此,我如何修改它以忽略它正在检查的单词的大小写。

String有方法toUpperCase和toLowerCase,您可以将这两个字符串都设置为小写,然后比较它们

使用String类的
比较IgnoreCase
方法

所以,输出的大小写无关紧要?在这种情况下,只需在运行代码之前将所有内容设置为小写或大写即可。用户可以输入他们想要的任何内容。其输入以创建微调器的项目名称。所以我只想在显示时清理他们的输入,但不改变核心数据。那么,如果用户输入“ABC”和“ABC”,你怎么知道他们想要保留哪一个?输入是专有名称,他们有时可能会对其进行封顶,而不是其他。当然,这不适用于他使用的
lastIndexOf
,那么我应该把它放在哪里呢?可能得把这些都抛到脑后,再想出另一种方法。是的,事实上,我在发布答案后就想出了这个方法,但使用它可能会让你的代码更干净。如您所见,您可以直接从arraylist请求迭代器,而不是生成对象数组。只是一个suggestion@Girish-我不熟悉java,所以不确定要更改什么。我尝试了4个代码集,然后才决定使用这个代码集。我没有想到输入的专有名称可能不会一直大写。谢谢
Duplicates List [ABC, ABC, abc, ABCD, ABCD, ABCE, aBCe]
Distinct List [ABC, abc, ABCD, ABCE, aBCe]