Set set = new HashSet();//已给定的数据类型。不能改为LinkHashSet
set.add("dng");
set.add("34");
set.add("45");
set.add("232ss3334");
set.add("dd");
set.add("dng1");
转换成String[] str;或者map类型
for (int i = 0; i < str.length; i++) {
log.info(str[i]);
}
打印的结果是:
dd
232ss3334
dng1
45
34
dng
问题是我想按上面的add顺序打印出来。
如何解决!

解决方案 »

  1.   

    恐怕是没有办法了,因为Set的本质是平衡二叉树,不会记录插入的顺序的。
    你要自己用ArrayList来存这个顺序。
      

  2.   

    让Oracle下的SUN部门帮你把HashSet改成有序的吧
      

  3.   

    楼主,这没辙啊,set就是无序的
      

  4.   

    set容器本来就是无序的,可改为list
      

  5.   

    你用的这个是按照HASH编码实现存储的
    我建议你最好是用LIST集合
    要是需要按照ADD()的顺序输入应该用ArrayList()
    最好
      

  6.   

    楼主对collection(List、set、map)基本概念不熟悉,建议先学习再问。