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

hashset的遍历为啥没有按照输入的顺序

2013-09-06 
hashset的遍历为何没有按照输入的顺序直接贴代码package cc.openhomeimport java.util.*public class Fo

hashset的遍历为何没有按照输入的顺序
直接贴代码

package cc.openhome;

import java.util.*;

public class ForEach {

private static void forEach(Iterable<String> iterable) {
for (Object o : iterable) {
System.out.println(o);
}
}

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> list = Arrays.asList("Justin", "Monica", "Irene");
//forEach(list);
forEach(new HashSet<String>(list));
//forEach(new ArrayDeque<String>(list));
}

}


输出的结果如下
Monica
Justin
Irene


疑问如下
为何不是

Justin
Monica
Irene


[解决办法]
HashSet无序的啊
[解决办法]
HashSet是无序的。。你想按添加的顺序打印的话,需要用LinkedHashSet
[解决办法]
HashSet本来就是按照哈希算法散列排序,顺序比较随机。要想按自然顺序排的话用TreeSet。想按集合对象的放入顺序排序的话应LinkedHashSet。概念问题。

热点排行