数组操作

  • 数组排序
public class SortArray {
    public static void main(String[] args) {
        int array[] = {2,3,6,9,-2,5,6,8,1};
        Arrays.sort(array);
        printArray("排序结果是:",array);
        int index = Arrays.binarySearch(array,2);
        System.out.println("元素2在第 " + index + "个位置");
    }

    /**
     * 打印数组元素
     * @param s
     * @param array
     */
    private static void printArray(String s, int[] array) {
        System.out.print(s+ "[length:"+array.length+"]");
        for (int i = 0; i < array.length; i++) {
            if (i != 0) {
                System.out.print(",");
            }
            System.out.print(array[i]);
        }
        System.out.println();
    }
}
  • 数组插入元素
public class InsertElement {
    public static void main(String[] args) {
        int array[] = {2,3,6,9,-2,5,6,8,1};
        Arrays.sort(array);
        printArray("排序结果是:",array);
        int index = Arrays.binarySearch(array,4);
        System.out.println("元素4在第 " + index + "个位置");
        int newIndex = -index;
        array = insertElement(array,4,newIndex);
        printArray("插入元素4后: ", array);
    }

    /**
     * 数组中插入元素
     * @param original
     * @param i
     * @param index
     * @return
     */
    private static int[] insertElement(int[] original, int i, int index) {
        int[] destination = new int[original.length + 1];
        System.arraycopy(original, 0, destination, 0, index);
        original[index] = i;
        System.arraycopy(original, index, destination, index + 1, original.length - index);
        return destination;
    }

    /**
     * 打印数组元素
     * @param s
     * @param array
     */
    private static void printArray(String s, int[] array) {
        System.out.print(s+ "[length:"+array.length+"]");
        for (int i = 0; i < array.length; i++) {
            if (i != 0) {
                System.out.print(",");
            }
            System.out.print(array[i]);
        }
        System.out.println();
    }
}
  • 数组合并
public class ArrayConcat {
    public static void main(String[] args) {
        String[] a = {"A","B","C"};
        String[] b = {"E","F"};

        List list = new ArrayList(Arrays.asList(a));
        list.addAll(Arrays.asList(b));
        Object[] c = list.toArray();
        System.out.println(Arrays.toString(c));
    }
}
  • 数组求最值
public class ArrayMixValue {
    public static void main(String[] args) {
        Integer[] number = {1,2,3,-4,-5,-6,9,8,7,};
        int min = (int) Collections.min(Arrays.asList(number));
        int max = (int)Collections.max(Arrays.asList(number));

        System.out.println("minValue: " + min);
        System.out.println("maxValue: " + max);
    }
}
  • 数组填充
public class FillArray {
    public static void main(String args[]) {
        int array[] = new int[6];
        Arrays.fill(array, 100);
        for (int i=0, n=array.length; i < n; i++) {
            System.out.println(array[i]);
        }
        System.out.println();
        Arrays.fill(array, 3, 6, 50);
        for (int i=0, n=array.length; i< n; i++) {
            System.out.println(array[i]);
        }
    }
}
  • 数组扩容

public class ExtendArray{
    public static void main(String[] args) {
        String[] names = new String[] { "A", "B", "C" };
        String[] extended = new String[5];
        extended[3] = "D";
        extended[4] = "E";
        System.arraycopy(names, 0, extended, 0, names.length);
        for (String str : extended){
            System.out.println(str);
        }
    }
}
  • 查找数组重复元素
public class FindDupicateArray {
    public static void main(String[] args)
    {
        int[] my_array = {1, 2, 5, 5, 6, 6, 7, 2, 9, 2};
        findDupicateInArray(my_array);

    }

    public static void findDupicateInArray(int[] a) {
        int count=0;
        for(int j=0;j<a.length;j++) {
            for(int k =j+1;k<a.length;k++) {
                if(a[j]==a[k]) {
                    count++;
                }
            }
            if(count==1)
                System.out.println( "重复元素 : " +  a[j] );
            count = 0;
        }
    }
}
  • 删除数组元素
public class DelElement {
    public static void main(String[] args)  {
        ArrayList<String> objArray = new ArrayList<String>();
        objArray.clear();
        objArray.add(0,"第 0 个元素");
        objArray.add(1,"第 1 个元素");
        objArray.add(2,"第 2 个元素");
        objArray.add(3,"第 0 个元素");
        System.out.println("数组删除元素前:"+objArray);
        objArray.remove(2);
        objArray.remove("第 0 个元素");//only delete the first element in the array
        System.out.println("数组删除元素后:"+objArray);
    }
}
  • 数组的差、交、并集
public class SetOfArray {
    public static void main(String[] args) throws Exception{
        String[] arr1 = {"1", "2", "3","4"};
        String[] arr2 = {"4", "5", "6"};
        String[] result_union = union(arr1, arr2);
        ArrayList arr11 = new ArrayList(Arrays.asList(arr1));
        ArrayList arr21 = new ArrayList(Arrays.asList(arr2));
        ArrayList arr12 = new ArrayList(Arrays.asList(arr1));
        ArrayList arr22 = new ArrayList(Arrays.asList(arr2));

        arr11.removeAll(arr21);
        arr12.retainAll(arr22);

        System.out.println("并集的结果如下:");

        for (String str : result_union) {
            System.out.println(str);
        }

        System.out.println("差集的结果如下: " + arr11);
        System.out.println("交集的结果如下: " + arr12);
    }
    private static String[] union(String[] arr1, String[] arr2) {
            Set<String> set = new HashSet<String>();
            for (String s : arr1) {
                set.add(s);
            }

        for (String s : arr2) {
            set.add(s);
        }

        String[] result = {};
        return set.toArray(result);
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值