首页 > 编程知识 正文

java获取list某个字段的值,java获取list中的值

时间:2023-05-04 20:42:30 阅读:32665 作者:3508

publicstaticlistremoveduplicate {

listnewlist=(list ) list.stream ).distinct ).collect (collectors.to list ) );

返回新列表;

}

首先获取此列表的流,然后调用distinct ()。 Java8以提供流的方式处理数据,所以速度非常快。 基础使用了forkJoin框架,提供并行处理,使多个处理器同时处理流中的数据,因此时间非常短。

二. HashSet去除重复元素

publicstaticlistremoveduplicate {

hashset hashset=new hashset (列表;

list.clear (;

list.addall(hashset;

返回列表;

}

总结:

该方式利用了Set的特性。 元素不能重复。 其基本原理是计算每个对象的散列值,然后比较元素值是否相同,如果相同,则保留最新的。

三.删除ArrayList的重复要素,保持顺序

用HashSet消除重复元素

publicstaticlistremoveduplicate {

设置集=new hashset (;

列表new list=new ArrayList (;

for(iteratorIter=list.iterator ); iter.hasNext (; () )。

Object next=iter.next (;

if(set.add(next ) ) }

newlist.add(next );

}

}

list.clear (;

list.addall (新列表);

返回列表;

}

四.遍历列表,不存在tempList.contain ()、add

publicstaticlistremoveduplicate {

列表模板=new ArrayList (;

for(intI=0; i list.size (; I ) {

if (! templist.contains(list.get(I ) ) )

templist.add(list.get(I ) );

}

}

返回模板;

}

五、循环list所有要素,删除重复

一定要顺序重复,顺序混乱重复的东西是不可靠的

循环list中的所有元素并删除重复项

publicstaticlistremoveduplicate {

for(intI=0; i list.size (; I ) {

for(intj=list.size ) (- 1; j i; j---- ) {

if(list.get(I ).equals (list.get (j ) ) )

list.remove(list.get(I ) );

}

}

}

返回列表;

}

总结:

外侧循环从第一个元素循环到最后一个元素,而内侧循环从最后一个元素循环到外侧元素的当前元素循环。 比较两个要素是否相等,相等时删除后面的要素去除重量。 该方法时间复杂度大于o(n ),小于o(n )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。