解决方案 »

  1.   

    放入List中,random获取0-list.size(),取出后remove,继续取值0-list.size(),直到为空。
      

  2.   

    一个集合放入set,取出时虽然顺序变了,但是每次取出都是固定顺序,这是为什么??
    特别是Integer的set,放入1-10的数字输出是有序的
      

  3.   

    一个集合放入set,取出时虽然顺序变了,但是每次取出都是固定顺序,这是为什么??
    特别是Integer的set,放入1-10的数字输出是有序的取出肯定是无序的。多点数据测一下,10个太少
      

  4.   

    一个集合放入set,取出时虽然顺序变了,但是每次取出都是固定顺序,这是为什么??
    特别是Integer的set,放入1-10的数字输出是有序的取出肯定是无序的。多点数据测一下,10个太少
    无论怎么测,【0-15】始终有序
    public static void main(String[] args){
    Set<Integer> set = new HashSet<Integer>();
    for(int i=0;i<30;i++){
    set.add(i);
    }
    for(int i : set){
    System.out.println(i);
    }
    }
    无论怎么测,输出顺序固定
    public static void main(String[] args){
    Set<String> set = new HashSet<String>();
    set.add("a");
    set.add("b");
    set.add("c");
    set.add("d");
    set.add("e");
    set.add("f");
    set.add("g");
    for(String i : set){
    System.out.println(i);
    }
    }
      

  5.   


    public static void main(String[] args) { Set<Integer> s = new HashSet<Integer>();
    for(int i=0; i< 100; i++){
    s.add(i);
    }

    Iterator<Integer> ii = s.iterator();
    while(ii.hasNext()){
    System.out.println(ii.next().toString());
    }

    }
    一个集合放入set,取出时虽然顺序变了,但是每次取出都是固定顺序,这是为什么??
    特别是Integer的set,放入1-10的数字输出是有序的取出肯定是无序的。多点数据测一下,10个太少
    无论怎么测,【0-15】始终有序
    public static void main(String[] args){
    Set<Integer> set = new HashSet<Integer>();
    for(int i=0;i<30;i++){
    set.add(i);
    }
    for(int i : set){
    System.out.println(i);
    }
    }
    无论怎么测,输出顺序固定
    public static void main(String[] args){
    Set<String> set = new HashSet<String>();
    set.add("a");
    set.add("b");
    set.add("c");
    set.add("d");
    set.add("e");
    set.add("f");
    set.add("g");
    for(String i : set){
    System.out.println(i);
    }
    }
      

  6.   

    一个集合放入set,取出时虽然顺序变了,但是每次取出都是固定顺序,这是为什么??
    特别是Integer的set,放入1-10的数字输出是有序的取出肯定是无序的。多点数据测一下,10个太少
    无论怎么测,【0-15】始终有序
    public static void main(String[] args){
    Set<Integer> set = new HashSet<Integer>();
    for(int i=0;i<30;i++){
    set.add(i);
    }
    for(int i : set){
    System.out.println(i);
    }
    }
    无论怎么测,输出顺序固定
    public static void main(String[] args){
    Set<String> set = new HashSet<String>();
    set.add("a");
    set.add("b");
    set.add("c");
    set.add("d");
    set.add("e");
    set.add("f");
    set.add("g");
    for(String i : set){
    System.out.println(i);
    }
    }你多跑几次你会发现虽然不是按输入顺序输出,但输出顺序是固定的,就是说set按自己的规则排序了
      

  7.   

    一个集合放入set,取出时虽然顺序变了,但是每次取出都是固定顺序,这是为什么??
    特别是Integer的set,放入1-10的数字输出是有序的取出肯定是无序的。多点数据测一下,10个太少
    无论怎么测,【0-15】始终有序
    public static void main(String[] args){
    Set<Integer> set = new HashSet<Integer>();
    for(int i=0;i<30;i++){
    set.add(i);
    }
    for(int i : set){
    System.out.println(i);
    }
    }
    无论怎么测,输出顺序固定
    public static void main(String[] args){
    Set<String> set = new HashSet<String>();
    set.add("a");
    set.add("b");
    set.add("c");
    set.add("d");
    set.add("e");
    set.add("f");
    set.add("g");
    for(String i : set){
    System.out.println(i);
    }
    }你多跑几次你会发现虽然不是按输入顺序输出,但输出顺序是固定的,就是说set按自己的规则排序了原来你说的是取的顺序。。
    放入时是根据hash算法放的,放入了就固定了,所以取顺序也固定了。而存入时不是按照存入顺序存得。