gpt4 book ai didi

java - 以不区分大小写的方式将 List 转换为 Set-Java 6

转载 作者:行者123 更新时间:2023-12-02 04:38:11 32 4
gpt4 key购买 nike

我有一个包含字符串 ABC:123,abc:123 的列表;当我将其转换为 Set 时,它给了我 2 个不同的元素。是否有一种简单的方法可以将此列表转换为 Set 忽略大小写,以便我的Set 仅包含 ABC:123。`但是如果输入列表包含 ABC:123a4,abc:1234A4 它应该在 Set 中给我 2 个不同的元素: ABC:123a4,ABC:1234A4我知道这可以先将列表元素拆分为“:”,然后将 abc 转换为全部大写,然后将它们添加到新列表中,然后添加到其余部分。但只是想知道是否有更好的方法(小行代码)这样做。感谢您提前集思广益的想法。

List<String> memlist = new ArrayList<String>(Arrays.asList(memberList.split(",")));
Set<String> memberSet = new HashSet<String>(memlist );
memlist = new ArrayList<String>(memberSet);

最佳答案

您可以使用设置了 String.CASE_INSENSITIVE_ORDER 标志的 TreeSet

    String startingString = "ABC:123,abc:123";
List<String> caseSensitiveList = Arrays.asList(startingString.split(","));
Set<String> caseInsensitiveSet = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
caseInsensitiveSet.addAll(caseSensitiveList);

for(String caseInsensitiveString : caseInsensitiveSet){
System.out.println(caseInsensitiveString);
}

这段代码运行时会给出输出:

ABC:123

关于java - 以不区分大小写的方式将 List<String> 转换为 Set-Java 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33696084/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com