编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

数组的常见操作

初始化数组

String[] array1 = {"马超", "马云", "关羽", "刘备", "张飞"};
String[] array2 = new String[]{"黄渤", "张艺兴", "孙红雷", "小猪", "牙哥", "黄磊"};

查看数组的长度

System.out.println("length: " + array1.length);

遍历数组

for (int i = 0; i < array1.length; i++) { 
    System.out.println(array1[i]);
}

数组 int ---> string

int[] array3 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
String arrStrings = Arrays.toString(array3);
System.out.println(arrStrings);

数组中是否包含某一个值

String a = "codingwhy";
if (Arrays.asList(array1).contains(a)) {
    System.out.println("codingwhy在这里");
}

将数组转成set集合

Set<String> set = new HashSet<>(Arrays.asList(array2));
System.out.println(set);

将数组转成list集合

List<String> list = new ArrayList<>();
for (int i = 0; i < array2.length; i++) {
    list.add(array2[i]);
}
String[] arrStrings2 = {"1", "2", "3"};
List<String> list2 = java.util.Arrays.asList(arrStrings2);
System.out.println(list2);

数组排序

int[] arr4 = {3, 7, 2, 1, 9};
Arrays.sort(arr4);
for (int i = 0; i < arr4.length; i++) {
    System.out.println(arr4[i]);
}

从第几个到第几个之间的进行排序

int[] arr5 = {3, 7, 2, 1, 9, 3, 45, 7, 8, 8, 3, 2, 65, 34, 5};
Arrays.sort(arr5, 1, 4);
for (int i = 0; i < arr5.length; i++) {
    System.out.println(arr5[i]);
}

复制数组

int[] arr6 = {3, 7, 2, 1};
int[] arr7 = Arrays.copyOf(arr6, 10);  //指定新数组的长度

只复制从索引[1]到索引[3]之间的元素(不包括索引[3]的元素)

int[] arr8 = Arrays.copyOfRange(arr6, 1, 3); 
for (int i = 0; i < arr8.length; i++) {
    System.out.println(arr8[i]);
}

比较两个数组

int[] arr9 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
boolean arr10 = Arrays.equals(arr6, arr9);
System.out.println(arr10);

利用set的特性去重复

int[] arr11 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 2, 4, 5, 6, 7, 4, 32, 2, 1, 1, 4, 6, 3};
Set<Integer> set2 = new HashSet<>();
for (int i = 0; i < arr11.length; i++) {
    set2.add(arr11[i]);
}
System.out.println(set2);
int[] arr12 = new int[set2.size()];
int j = 0;
for (Integer i : set2) {
    arr12[j++] = i;
}
System.out.println(Arrays.toString(arr12));

计算最大值

int[] arr = {10, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 2, 4, 5, 6, 7, 4, 32, 2, 1, 1, 4, 6, 3};
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
    if (arr[i] > max) {
        max = arr[i];
    }
}
System.out.println("Max is " + max);

计算最小值

int[] arr = {10, 2, 3, 4, 5, 6, 7, 8, 9, 0, 3, 2, 4, 5, 6, 7, 4, 32, 2, 1, 1, 4, 6, 3};
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
    if (arr[i] < min) {
        min = arr[i];
    }
}
System.out.println("Min is " + min);


未经允许不得转载: 技术文章 » Java编程 » 数组的常见操作