怎么实现“传入的是有序内容的数组,传出的是无序内容的数组”;最好是给代码?

解决方案 »

  1.   

    用hashset给你弄了个,随机也可以,不知道你啥需求,到底要多乱import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;public class Test1 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[] arr = {1,2,3,4,5,6,7};
    int[] result = new int[arr.length];

    Set<Integer> set = new HashSet<Integer>();
    for(int i=0;i<arr.length;i++){
    set.add(arr[i]);
    }
    Iterator<Integer> it = set.iterator();
    int m = 0;
    while(it.hasNext()){
    result[m] = it.next();
    m++;
    }
    System.out.print("原数组为:");
    for(int i=0;i<arr.length;i++){
    System.out.print(arr[i]+",");
    }
    System.out.println();
    System.out.print("新数组为:");
    for(int i=0;i<result.length;i++){
    System.out.print(result[i]+",");
    }
    }
    }
      

  2.   

    public static void main(String[] args) {
    int[] s = { 1, 3, 4, 5, 6, 7, 8 };
    for (int i = 0; i < s.length; i++) {
    System.out.print(s[i] + " ");    ///1 3 4 5 6 7 8 
    }
    System.out.println();
    f(s);
    for (int i = 0; i < s.length; i++) {
    System.out.print(s[i] + " ");    ///7 1 6 8 3 4 5 
    }
    } public static void f(int[] src) {
    int len = src.length;
    List list = new ArrayList();
    for (int i = 0; i < len; i++) {
    list.add(src[i]);
    }
    int size = len;
    int i = 0;
    while (size > 0) {
    int item = (int) (Math.random() * size);
    src[i] = (Integer) list.get(item);
    list.remove(item);
    size--;
    i++;
    }
    }