Java中Set移除元素

  • 2021年10月29日
  • Java

package com.longlonggo;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/**
 * <p>
 * Description: set集合移除元素
 * </p>
 * <p>
 * Created on 2017年6月28日
 * </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(i);
		}
		print(set);

		
		// 移除能被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);
		

		// 移除能被2整除的元素
		// 方法二)for循环方式,但是实质性还是迭代器遍历模式
		Iterator<Integer> it = set.iterator();
		for (int i = 0; i < set.size(); i++) {
			Integer _s = it.next();
			if (_s % 2 == 0) {
				it.remove();
				i--;
			}
		}
		print(set);
	}
	

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

}

发表回复

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