deantzzz 2018-12-13 09:29 采纳率: 50%
浏览 672
已采纳

数组去除重复元素方法

一个去除重复元素的方法

    /**
     * remove list duplicate element
     * @param list
     */
    public static List removeListDuplicateElement(List list) {
        if (list.size() > 1) {
            for (int i = 0; i < list.size() - 1; i++) {
                for (int j = list.size() - 1; j > i; j--) {
                    if (list.get(j).equals(list.get(i))) {
                        list.remove(j);
                    }
                }
            }
        }
        return list;
    }

for (int j = list.size() - 1; j > i; j--)这里报空指针异常

java.lang.NullPointerException: null

at com.dataAnalysis.utils.ListUtils.removeListDuplicateElement(ListUtils.java:14) ~[classes/:na]

  • 写回答

2条回答 默认 最新

  • deantzzz 2018-12-14 08:34
    关注

    最后修改成了这样,new一个新的list,迭代待处理数组,若newList中不包含此元素就add,最后return的数组重复元素只保留一个

        public static List removeListDuplicateElement(List list) {
            Iterator iterator = list.iterator();
            List newList = new ArrayList();
            while (iterator.hasNext()){
                Object o = iterator.next();
                    if(!newList.contains(o)){
                        newList.add(o);
                    }
                }
            return newList;
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口