您现在的位置: 爱51代码网 >> 范文 >> 文章正文
JAVA-List对象某个字段去重的算法代码

JAVA-List对象某个字段去重的算法代码

List对象去重的算法
Java code?1 return new ArrayList<T>(new LinkedHashSet<T>(list))


我想要不是去除重复对象,而是去除对象中某个字段一样的对象。

举个例子:


Java code?
public static void main(String[] args) {         class Temp{             private int a;             private String b;             private BigInteger cBigInteger;             public int getA() {                 return a;             }             public void setA(int a) {                 this.a = a;             }             public String getB() {                 return b;             }             public void setB(String b) {                 this.b = b;             }             public BigInteger getcBigInteger() {                 return cBigInteger;             }             public void setcBigInteger(BigInteger cBigInteger) {                 this.cBigInteger = cBigInteger;             }         }                   Temp temp1 = new Temp();         temp1.setA(10);         temp1.setB("hehe");         temp1.setcBigInteger(new BigInteger("1111111111111111111111111"));                   Temp temp2 = new Temp();         temp2.setA(10);         temp2.setB("hehe");         temp2.setcBigInteger(new BigInteger("1111111111111111111111111"));                             Temp temp3 = new Temp();         temp3.setA(10);         temp3.setB("hehe3");         temp3.setcBigInteger(new BigInteger("1111111111111111111111111"));                   Temp temp4 = new Temp();         temp4.setA(10);         temp4.setB("hehe4");         temp4.setcBigInteger(new BigInteger("1111111111111111111111111"));                   List<Temp> list = new ArrayList<Temp>();          list.add(temp1);         list.add(temp2);         list.add(temp3);         list.add(temp4);         //如何去除字段b重复的对象呢?     }


我想去掉Temp对象中字段b重复的对象,上面的例子就是temp1和temp2。

除了使用双重for循环从第一个开始逐个和后面的遍历remove之外,有没有什么快速的方法呢?

需要转换成 ArrayList 在用用hashcode 和 hashset 去重复

map呢 键值 无重复数据。 把您要去重的那个字段作为键 你可以用HashSet来做,然后重写hashCode以及equals方法.实现一个自定义的比较方式.然后把这个List直接new成HashSet就可以了.

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    linux上运行system函数时,print
    Failed to open eth0
    android手机无法与eclipse或电脑
    C/C++洗牌算法源代码
    servlet技术实现用户名唯一的验证
    E-business suite system servic
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    sharepoint 2010 获取用户信息Us
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    java.lang.NoClassDefFoundE
    java从.dat文件中读取数据
    JDWP Unable to get JNI 1.2
    富文本控件怎么把数据存放到
    Unresolved compilation pro
    正则表达式如何解析JSON
    Ajax异步调用后台 实现简单的
    定时将SQL SERVER2000中一个
    Exception in thread "Timer
    Exception sending context 
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |