数组的最后一个元素在迭代时首先打印

时间:2011-09-08 08:48:29

标签: java iterator set

import java.util.*;
class next {
public static void main( String args[] ) {
 String elements[] = { "Suhail" , "Shadow" , "Stars" };
 Set s = new HashSet( Arrays.asList( elements ) );
 Iterator i = s.iterator();
   while( i.hasNext() ) {
 System.out.println( i.next() );
   }
 }
}

接下来的输出是:

Stars
Shadow
Suhail

为什么我先打印最后一个元素?我希望输出为suhail , shadow , stars

3 个答案:

答案 0 :(得分:6)

HashSet 保证任何订单。请改用LinkedHashSet来保留广告订单。

答案 1 :(得分:0)

是否有使用HashSet的原因,在这种情况下ArrayList会是完美的?

你只需要一次迭代吗?

for (final String string : elements) {
  System.out.println(string);
}

答案 2 :(得分:0)

您可以将HashSet更改为Arraylist,这是列表的常见类型。