首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2013-02-03 
为什么输出顺序与输入顺序不同呢??详见内容import java.util.HashSetimport java.util.Iteratorimport j

为什么输出顺序与输入顺序不同呢??详见内容
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

热点排行