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 - 对 servlet 的一个请求可以有两种类型的响应

java - 为什么这个方法会导致无限递归调用?

java - 如何映射已在 ORACLE 中创建但在 Hibernate 实体中创建的 "CREATE UNIQUE INDEX"

java - 如何使用 Camunda 指定并行网关中的执行顺序?

java - 根据 application.yml 中的属性使用 Spring Boot 进行注入(inject)

java - 如何避免编码元素/标签中不必要的 namespace 声明?

java - 通用 DAO 实现, Controller 级别注入(inject)失败

java - cassandra cql查询,从方法读取WHERE条件

java - 使用 java.sql.Connection 在运行时抛出 AbstractMethodError

java - 在Java中递归删除目录