当前位置: 代码迷 >> J2SE >> 为啥输出顺序与输入顺序不同呢?详见内容
  详细解决方案

为啥输出顺序与输入顺序不同呢?详见内容

热度:3417   发布时间:2013-02-25 21:53:53.0
为什么输出顺序与输入顺序不同呢??详见内容
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
public class Test {    
    public static void main(String[] args){
        Set<String> hashset = new HashSet<String>();
        Scanner input = new Scanner(System.in);
        for(int i=0;i<5;i++){          
            String  s = input.nextLine();
            hashset.add(s);
        }
        Iterator<String>it= hashset.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
}
iterator
因为你用的是HashSet,HashSet出于对查询速度的优化使用了散列,所以你放进去的值顺序会变,如果不想变则你把HashSet改成linkedHashSet就OK了HashSet是不能保证顺序的。要顺序可以用ArrayList或者LinkedHashSet
  相关解决方案