Java去除List中的重复的值的多种方法

原标题:Java去除List中的重复的值的多种方法

Java去除List中的重复的值的方法有多种,下面一一为大家介绍

方法一:

Hastset根据hashcode判断是否重复,数据不会重复

Java代码

/** List order not maintained **/

public static void removeDuplicate(ArrayList arlList)

{

HashSet h = new HashSet(arlList);

arlList.clear();

arlList.addAll(h);

}

/** List order not maintained **/

public static void removeDuplicate(ArrayList arlList)

{

HashSet h = new HashSet(arlList);

arlList.clear();

arlList.addAll(h);

}

方法二:

通过Hashset的add方法判断是否已经添加过相同的数据,如果已存在相同的数据则不添加

Java代码

/** List order maintained **/

public static void removeDuplicateWithOrder(ArrayList arlList)

{

Set set = new HashSet();

List newList = new ArrayList();

for (Iterator iter = arlList.iterator(); iter.hasNext(); )

{

Object element = iter.next();

if (set.add(element)) newList.add(element);

}

arlList.clear();

arlList.addAll(newList);

}

/** List order maintained **/

public static void removeDuplicateWithOrder(ArrayList arlList)

{

Set set = new HashSet();

List newList = new ArrayList();

for (Iterator iter = arlList.iterator(); iter.hasNext(); )

{

Object element = iter.next();

if (set.add(element)) newList.add(element);

}

arlList.clear();

arlList.addAll(newList);

}

方法三:循环元素删除

// 删除ArrayList中重复元素

public static void removeDuplicate(List list) {

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);

}

}

}

System.out.println(list);

}

public static void removeDuplicate(List list) {

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);

}

}

}

System.out.println(list);

}

方法四:通过HashSet剔除

// 删除ArrayList中重复元素

public static void removeDuplicate(List list) {

HashSet h = new HashSet(list);

list.clear();

list.addAll(h);

System.out.println(list);

}

public static void removeDuplicate(List list) {

HashSet h = new HashSet(list);

list.clear();

list.addAll(h);

System.out.println(list);

}

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

// 删除ArrayList中重复元素,保持顺序

public static void removeDuplicateWithOrder(List list) {

Set set = new HashSet();

List newList = new ArrayList();

for (Iterator iter = list.iterator(); iter.hasNext();) {

Object element = iter.next();

if (set.add(element))

newList.add(element);

}

list.clear();

list.addAll(newList);

System.out.println( ” remove duplicate ” + list);

}

public static void removeDuplicateWithOrder(List list) {

Set set = new HashSet();

List newList = new ArrayList();

for (Iterator iter = list.iterator(); iter.hasNext();) {

Object element = iter.next();

if (set.add(element))

newList.add(element);

}

list.clear();

list.addAll(newList);

System.out.println( ” remove duplicate ” + list);

}

自己使用: 删除 “0.0”的值

List<List > list1 = (List<List >) map.get(“商品入库表”); //表1 入库详细表

//删除list中 数量为 0值

for (Iterator<List > item = list1.iterator(); item.hasNext(); ) {

List it = item.next();

System.out.print(it);

if (it.get(4).equals(“0.0”)) {

item.remove();

}

}

for (Iterator<List > item = list1.iterator(); item.hasNext(); ) {

List it = item.next();

System.out.print(it);

if (it.get(4).equals(“0.0”)) {

item.remove();

}

}

来源于网络

SSL证书是HTTP明文协议升级HTTPS加密协议的重要渠道,是网络安全传输的加密通道。关于更多SSL证书的资讯,请关注GDCA(数安时代)。GDCA致力于网络信息安全,已通过WebTrust 的国际认证,是全球可信任的证书签发机构。GDCA专业技术团队将根据用户具体情况为其提供最优的产品选择建议,并针对不同的应用或服务器要求提供专业对应的HTTPS解决方案。

文章转载https://www.trustauth.cn/wiki/22585.html返回搜狐,查看更多

责任编辑:

平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()
推荐阅读