当前位置: 代码迷 >> Java相关 >> HashSet有什么特点啊?
  详细解决方案

HashSet有什么特点啊?

热度:154   发布时间:2007-04-25 22:07:54.0
HashSet有什么特点啊?
import java.util.*;
public class TestHashSet{
public static void main(String[] args){
HashSet h=new HashSet();
h.add("1st");
h.add("2nd");
h.add("3rd");
h.add("4th");
h.add("5th");
h.add(new Integer(6));
h.add(new Double(7.0));

h.add("2nd"); //莫非这两行有特殊含义?
h.add(new Integer(6)); //莫非这两行有特殊含义?

m1(h);
}
public static void m1(Set s){
System.out.println(s);
}
}



编译无错误,运行后显示:[6, 5th, 7.0, 3rd, 1st, 2nd, 4th] 可是为什么是这个顺序呢?还有如题:HashSet有什么特点啊?

在此先谢过路过的达人o(∩_∩)o...
搜索更多相关的解决方案: HashSet  add  特点  new  

----------------解决方案--------------------------------------------------------
HashSet不保存重复的元素,那两行是就是告诉你这点
----------------解决方案--------------------------------------------------------
噢!那为什么输出的顺序是这样的呢? - -
----------------解决方案--------------------------------------------------------

HashSet不会保证其中元素的顺序会与加入时一样


----------------解决方案--------------------------------------------------------
就是,你可以自己调用排序函数来排序
----------------解决方案--------------------------------------------------------
以下是引用Eastsun在2007-4-25 22:39:38的发言:

HashSet不会保证其中元素的顺序会与加入时一样

可是我每次编译运行后输出的顺序都是[6, 5th, 7.0, 3rd, 1st, 2nd, 4th],如果真的是无规律的话那每次运行后输出顺序都会有所不同才是啊?


----------------解决方案--------------------------------------------------------
以下是引用Eastsun在2007-4-25 22:39:38的发言:

HashSet不会保证其中元素的顺序会与加入时一样

仅此而已,但并不是说顺序是随机的.
其顺序是一个与HashSet的具体实现算法有关的东西,肯定是确定的.


----------------解决方案--------------------------------------------------------
嗯!懂了!谢谢大家o(∩_∩)o...
----------------解决方案--------------------------------------------------------
  相关解决方案