java - 找到字符串数组的唯一值并保持顺序

标签 java

我有一个 String[] ,其值如下:

line_str = "1,3,4,3,11,2,2,6,7"

我想找到独特的值(value)并保持值(value)的排列

unique_str="1,3,4,11,2,6,7"

我正在使用 HashSet 但输出是:

[1,6,7,4,11,3,2]

这是我的代码:

String line_str = "1,3,4,3,11,2,2,6,7";
String[] str_arr = line_str.split(",");
Set<String> uniqueValue = new HashSet<>(Arrays.asList(str_arr));
Toast.makeText(this, uniqueValue.toString(),Toast.LENGTH_LONG).show();

最佳答案

HashSet 将确保不重复,LinkedHashSet 将确保每个元素保持在其指定位置;

String line_str = "1,3,4,3,11,2,2,6,7";
String[] str_arr = line_str.split(",");
Set<Integer> uniqueNumbers = new LinkedHashSet<Integer>();
for(String num : str_arr) {
    uniqueNumbers.add(Integer.parseInt(num));
}

如果您的输入有任何差异,那么您将需要处理它。

关于java - 找到字符串数组的唯一值并保持顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58465931/

相关文章:

java - 保持 MaxPermSize 较小有什么好处吗?

java - jdk1.6更新32和JavaFX2.1可以工作吗?

JavaFX : Mouse clipboard does not work in Unix

java - 如何在java中检查Windows 7的位置

java - 从覆盖的 Tomcat 类访问应用程序代码

java - 解压文件夹而不覆盖新文件

java - 检查字符串的长度并在 Java 中使用 do-while

java - 如何找到tomcat服务器处理的请求总数?

java - 从内容配置中提取文件名

java - QueryDSL NumberPath<BigDecimal> 大于从 MongoDB 集合提供不准确的结果