今天碰到一个问题,想了好久都没有明白,网上找了一个文章,先收藏起来,有空了一定要想明白
用Set ,倘若list里边的元素不是基本数据类型而是对象,那么请覆写Object的boolean equals(Objectobj) 和int hashCode()方法.
return new ArrayList(new HashSet(list));

方法一:循环元素删除

  1. public static void removeDuplicate(List list) {
  2. for ( int i = 0 ; i < list.size() - 1 ; i ++ ){
  3. for ( int j = list.size() - 1 ; j > i; j -- ){
  4. if (list.get(j).equals(list.get(i))) {
  5. list.remove(j);
  6. }
  7. }
  8. }
  9. System.out.println(list);
  10. }

方法二:通过HashSet剔除

  1. public static void removeDuplicate(List list) {
  2. HashSet h = new HashSet(list);
  3. list.clear();
  4. list.addAll(h);
  5. System.out.println(list);
  6. }

方法三: 删除ArrayList中重复元素,保持顺序

  1. public static void removeDuplicateWithOrder(List list) {
  2. Set set = new HashSet();
  3. List newList = new ArrayList();
  4. for (Iterator iter = list.iterator(); iter.hasNext();) {
  5. Object element = iter.next();
  6. if (set.add(element)) {
  7. newList.add(element);
  8. }
  9. }
  10. list.clear();
  11. list.addAll(newList);
  12. System.out.println( "remove duplicate" + list);
  13. }

如果用HashSet的话,如果是对象,则要将对象实现equals和hashCode方法
以下是从自己代码中copy

  1. public static List<String>array_unique(List<String> masLocList){
  2. // array_unique
  3. List<String> list = newLinkedList<String>();
  4. for(int i = 0; i < masLocList.size(); i++) {
  5. if(!list.contains(masLocList.get(i))) {
  6. list.add(masLocList.get(i));
  7. }
  8. }
  9. return list;
  10. }

去除List中重复的元素的更多相关文章

  1. [转]java去除List中重复的元素

    java去除List中重复的元素 如果用Set ,倘若list里边的元素不是基本数据类型而是对象, 那么请覆写Object的boolean   equals(Object   obj)   和int  ...

  2. 集合求交集 & 去除列表中重复的元素

    集合求交集: set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} 交集:set3 = set1 & set2 print(ste3) #结果为{4,5} 或者ste1. ...

  3. Python 去除列表中重复的元素

    Python 去除列表中重复的元素 来自比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还 ...

  4. java去除数组中重复的元素方法总结

    /* * ArrayUnique.java * Version 1.0.0 * Created on 2017年12月16日 * Copyright ReYo.Cn */ package reyo.s ...

  5. array_unique() - 去除数组中重复的元素值

      array_unique() 定义和用法 array_unique() 函数移除数组中的重复的值,并返回结果数组. 当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除. 返回的数组中键名 ...

  6. Python 去除列表中重复的元素(转载http://blog.csdn.net/zhengnz/article/details/6265282)

    比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a']l2 = list(set(l1))print l2   还有一种据说速度更快的,没测试过两者的速度 ...

  7. php 去除数组中重复元素

    去除数组中重复元素, 找了下可以一下两个函数 php array_flip()与array_uniqure() $arr = array(…………) ;// 假设有数组包含一万个元素,里面有重复的元素 ...

  8. python去除列表中重复元素的方法

    列表中元素位置的索引用的是L.index 本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set 1 2 3 l1 = ['b','c', ...

  9. 关于iOS去除数组中重复数据的几种方法

    关于iOS去除数组中重复数据的几种方法   在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...

随机推荐

  1. kvm虚拟机最佳实践系列1-kvm宿主机准备

    KVM宿主机配置 系统环境:ubuntu16, bond0 业务网口 bond1 管理网口+存储网口 安装KVM环境支持 sudo apt-get install qemu-kvm sudo apt- ...

  2. linux系统查看主机序列号

    #dmidecode -t 1 System Information        Manufacturer: IBM        Product Name: System x3650 M3 -[7 ...

  3. 关闭vs警告

    禁用所有编译器警告 当“解决方案资源管理器”中有项目选中时,在“项目”菜单上单击“属性”. 单击“编译”选项卡. 选中“禁用所有警告”复选框. 禁用单个编译器警告 在“解决方案资源管理器”中选定一个项 ...

  4. popen的用法及与system调用的区别

    首先用man查看下popen的介绍: popen(3) - Linux man page Name popen, pclose - pipe stream to or from a process S ...

  5. python的位运算

    # &: 都是1,才为1,否则为零 # |: 都是0,才为0,否则为1 # ^: 相同为0,相异为1 a = bin(20) b = bin(16) print(a) # 0b10100 pr ...

  6. python delete数据

    #!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/11/24 0:27 # @Author : lijunjiang # @Fil ...

  7. 【转载】性能监视器(SSAS)

    使用性能监视器,您可以通过性能计数器监视 Microsoft SQL Server Analysis Services (SSAS) 实例的性能. 性能监视器是用于跟踪资源使用情况的 Microsof ...

  8. Nginx虚拟主机(Virtual Host)配置

    虚拟主机(Virtual Host)可以在一台服务器上绑定多个域名,架设多个不同的网站,一般在开发机或者要部署多个小网站的服务器上需要配置虚拟主机.nginx的虚拟主机配置其实也挺简单,为了使得配置文 ...

  9. jQuery Lazy Load图片懒加载

    传送门:官网地址,jQuery Lazy Load v1.7.2下载,Github 使用方法: 1.引用js文件 <script src="jquery.js">< ...

  10. POJ 3468.A Simple Problem with Integers-线段树(成段增减、区间查询求和)

    POJ 3468.A Simple Problem with Integers 这个题就是成段的增减以及区间查询求和操作. 代码: #include<iostream> #include& ...