Java集合map删除(移除)元素

  • 2021年10月29日
  • Java

package com.longlonggo.demo;

import java.util.HashSet;
import java.util.Random;
import java.util.Set;

/**
 * <p>Description:	map集合</p>
 * <p>Created on	2017年6月15日 下午2:28:27</p>
 * <p>Copyright:	Copyright (c) 2017-2018</p>
 * @author		石马人山  me@longlonggo.com
 */
public class MyTest {

public static void main(String[] args) {

	int size = 10;			//产生随机对象个数
	
	//产生随机对象集合
	Set<Integer> set = new HashSet<>();
	for(int i=0; i<size; i++){
		set.add(new Random().nextInt(10));
	}
	print(set);
	
	
	//移除id="2"的元素
	//方法一)【官方推荐】使用迭代器移除,注意该处的it.remove()是迭代器的方法,不是set的remove方法
	Iterator<Integer> it = set.iterator();
	while(it.hasNext()){
		Integer _s = it.next();
		if(_s % 2 == 0){
	        it.remove();
	    }
	}
	print(set);

	

	//方法二)增强型for循环删除
	//将要删除的元素添加到一个新的集合中,然后通过removeAll()函数删除的元素集合
	Set<Integer> rmSet = new HashSet<>();
	for (Integer _s : set) {
		if(_s % 2 == 0){
			rmSet.add(_s);
	    }
	}
	set.removeAll(rmSet);
	print(set);
}


/**
 * 打印函数
 */
public static void print(Set<Integer> set){
	System.out.println("n-----------------------------------");
	for (Integer _s : set) {
		System.out.print(_s+" ");
	}
}

}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注