首页 > 图灵资讯 > 技术篇>正文

java数组和列表怎么去重

2024-11-13 16:01:57

数组和列表去重方法:数组去重:使用 set 转换或 arraylist 转 set 再转数组。列表去重:使用 linkedhashset 保留插入顺序或使用 set 转换或 arraylist 转 set 再转 arraylist。

java数组和列表怎么去重

Java 数组和列表去重

数组去重

  • 使用 Set 转换:将数组转换为 Set 集合,它自动过滤重复元素。

int[] arr = {1, 2, 3, 4, 5, 1, 2};
Set<Integer> uniqueSet = new HashSet<>(Arrays.asList(arr));

  • 使用 ArrayList 转 Set 再转数组:与 Set 转换类似,使用 ArrayList 作为中间步骤。

int[] arr = {1, 2, 3, 4, 5, 1, 2};
List<Integer> uniqueList = new ArrayList<>(Arrays.asList(arr));
int[] uniqueArray = uniqueList.stream().distinct().toArray();

列表去重

  • 使用 LinkedHashSet:将列表转化为 LinkedHashSet 保留插入顺序,然后转回 ArrayList。

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 1, 2);
LinkedHashSet<Integer> uniqueSet = new LinkedHashSet<>(list);
List<Integer> uniqueList = new ArrayList<>(uniqueSet);

  • 使用 Set 转换:与数组去重类似,将列表转换为 Set。

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 1, 2);
Set<Integer> uniqueSet = new HashSet<>(list);
List<Integer> uniqueList = new ArrayList<>(uniqueSet);

  • 使用 ArrayList 转 Set 再转 ArrayList:与数组去重类似,使用 ArrayList 作为中间步骤。

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 1, 2);
List<Integer> uniqueList = new ArrayList<>();
for (Integer num : list) {
    if (!uniqueList.contains(num)) {
        uniqueList.add(num);
    }
}

以上就是java数组和列表怎么去重的详细内容,更多请关注图灵教育其它相关文章!

上一篇 java中数组是怎么扩容的
下一篇 返回列表

文章素材均来源于网络,如有侵权,请联系管理员删除。