Java中Set集合怎样用for遍历?

Python013

Java中Set集合怎样用for遍历?,第1张

set是要用迭代器访问。迭代器好比一个指向元素之间的指针,每移动一次,就指向下一个元素。

迭代器英文叫做Iterator。set有iterator方法,传给迭代器对象进行迭代。

示例如下:

package cn.util

import java.util.HashSet

import java.util.Iterator

import java.util.LinkedList

import java.util.List

import java.util.Set

public class SetDemo {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Set set=new HashSet()

List list=new LinkedList()

list.add("1")

list.add("2")

set.add(list)

list=new LinkedList()

list.add("1")

list.add("2")

set.add(list)

set.add("a")

set.add("b")

set.add("a")

Iterator it= set.iterator()

while(it.hasNext())

{

Object ob=it.next()

if(ob instanceof List)

{

System.out.println(ob+" "+"true")

}

else{

System.out.println(ob+" "+"false")

}

}

System.out.println(set.size())

}

}

HashMap散列图、Hashtable散列表是按“有利于随机查找的散列(hash)的顺序”。并非按输入顺序。

遍历时只能全部输出,而没有顺序。

甚至可以rehash()重新散列,来获得更利于随机存取的内部顺序。

总之,遍历HashMap或Hashtable时不要求顺序输出,即与顺序无关。

如果需要顺序,请使用List的子类,都是有序的。