Set集合遍历的几种方式

  • Post author:
  • Post category:其他

Set集合特点:无序,没有索引,元素唯一
所以总结一下set集合的遍历方法

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

public class SetFor {

	public static void main(String[] args) {

		Set<String> set = new HashSet<>();
		set.add("a");
		set.add("b");
		set.add("c");
		set.add("d");
		
		getSet1(set);
		getSet2(set);
		getSet3(set);
		getSet4(set);
	}

	
	// 1. Set集合的遍历: toArray()-----> Object[]
	public static void getSet1(Set<String> set) {
		
		Object[] obj = set.toArray();
		for (int i = 0; i < obj.length; i++) {
			Object ob = obj[i];
//			System.out.println(ob);
			//多态向下转型
			String s = (String)ob;
			System.out.println("111111---"+s);
		}
	}
	
	
	// 2. Set集合的第二种遍历方式: toArray(T[] t)
	public static void getSet2(Set<String> set) {
		// 需要参数T[],先创建一个数组,因为set中时String类型的元素,创建String[],
		// 数组大小设置为set集合中的元素的大小
		
		String[] s1 = new String[set.size()];
		String[] s2 = set.toArray(s1);
		
		for (int i = 0; i < s2.length; i++) {
			String s3 = s2[i];
			System.out.println("222---"+s3);
		}
		
	}
	
	
	// 3. 迭代器遍历方式
	public static void getSet3(Set<String> set) {
		Iterator<String> it = set.iterator();
		while (it.hasNext()) {
			String string = (String) it.next();
			System.out.println("3333----"+string);
		}
	}
	
	// 4. 增强for进行set集合的遍历
	public static void getSet4(Set<String> set) {
		for (String string : set) {
			System.out.println("4444---"+string);
		}
		
		//第五种方式(此方式与3一样,不过是for循环的另外一种使用方式)
		for (Iterator iterator = set.iterator(); iterator.hasNext();) {
			String string = (String) iterator.next();
			System.out.println("555----"+string);
		}
		
	}
}


版权声明:本文为x_l_t原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。