资讯专栏INFORMATION COLUMN

java---数组去重

trilever / 2791人阅读

摘要:面试中被问到如果一个数组中有重复元素,用什么方法可以去重想了想貌似方法还不少,现在就总结一下。用集合实现输出结果用集合实现数组类型为包装类类型数组类型为基本数据类型输出结果可以看到不进去除了重复数据,而且还将数据进行了排序。

面试中被问到:如果一个数组中有重复元素,用什么方法可以去重?想了想貌似方法还不少,现在就总结一下。
1. 用List集合实现
public static void main(String[] args) {

    int[] intArr2 =  {2,4,5,6,1,1,2,6,7};
    List list = new ArrayList<>();
    for (int i : intArr) {
        if(!list.contains(i)) {
            list.add(i);
        }
    }
    System.out.println(list.toString());
}
//输出结果
[2, 4, 5, 6, 1, 7]
2. 用Set集合实现
public static void main(String[] args) {

    Integer[] intArr =  {2,4,5,6,1,1,2,6,7};
    int[] intArr2 =  {2,4,5,6,1,1,2,6,7};
    
    // 数组类型为包装类类型
    Set set = new TreeSet<>(Arrays.asList(intArr));
    for (int i : intArr) {
        set.add(i);
    }
    System.out.println(set.toString());
    // 数组类型为基本数据类型
    Set set2 = new TreeSet<>();
    for (int i : intArr2) {
        set2.add(i);
    }
    System.out.println(set2.toString());
}
//输出结果
[1, 2, 4, 5, 6, 7]
[1, 2, 4, 5, 6, 7]

  可以看到set不进去除了重复数据,而且还将数据进行了排序。而这一切都是treeset的功劳。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73614.html

相关文章

  • java构造list,合并重复的数组

    摘要:在开发项目中遇到了这样的一个问题一个里面有这样的数据公司公司公司公司公司公司我要怎么做才能把他们合并为公司公司公司这边根据字段的公司名将同一公司的不同数据构造一起,做法如下总结双重遍历去重双重遍历构造数据存储构造出来的类型根据项目变化而变化 在开发项目中遇到了这样的一个问题:一个repeatList里面有这样的数据: repeatList=[ {sort=0, company=...

    wangjuntytl 评论0 收藏0
  • 思维导图整理大厂面试高频数组补充1: 最接近的三数之和 和 三数之和 的两个不同之处, 力扣16

    摘要:此专栏文章是对力扣上算法题目各种方法的总结和归纳整理出最重要的思路和知识重点并以思维导图形式呈现当然也会加上我对导图的详解目的是为了更方便快捷的记忆和回忆算法重点不用每次都重复看题解毕竟算法不是做了一遍就能完全记住的所 ...

    longmon 评论0 收藏0
  • 单调减子序列(java实现)

    摘要:给定整数序列的长度和整数序列中依次的值,请你求出这个整数序列中最长的单调减小的子序列的长度以及不同但长度都是最长得单调减小的子序列的数量。输入第行为一个整数,表示输入的整数序列的长度。对于问题,声明以第个元素为结尾的子序列的最长的长度。 题目:从一个由N个整数排列组成的整数序列中,自左向右不连续的选出一组整数,可以组成一个单调减小的子序列(如从{68 69 54 64 68 64 70...

    Keagan 评论0 收藏0
  • 使用流

    摘要:将在非空的时候返回值,否则会抛出没有这个元素的异常。构建流现在我们已经能够使用从集合生成流了。由文件生成流不重复的单词数预处理获取流,使用后不用手动关闭流。我们使用得到流,其中每个元素就是文本里的一行。 筛选和切片 filter filter 会接受一个谓词作为参数,并返回符合该条件的元素流。 List vegetarianMenu = menu ...

    codercao 评论0 收藏0
  • JS程序

    摘要:设计模式是以面向对象编程为基础的,的面向对象编程和传统的的面向对象编程有些差别,这让我一开始接触的时候感到十分痛苦,但是这只能靠自己慢慢积累慢慢思考。想继续了解设计模式必须要先搞懂面向对象编程,否则只会让你自己更痛苦。 JavaScript 中的构造函数 学习总结。知识只有分享才有存在的意义。 是时候替换你的 for 循环大法了~ 《小分享》JavaScript中数组的那些迭代方法~ ...

    melody_lql 评论0 收藏0

发表评论

0条评论

trilever

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<