栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java数组常用操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java数组常用操作

1.创建数组的4种方式
//Four solutions to create an array in Java
//Take [1,2,3] as example
//Solution 1
int[] a = {1,2,3};
System.out.println("a: "+Arrays.toString(a));
//Solution 2
int[] b = new int[]{1,2,3};
//Solution 3
int[] c = new int[3];
for(int i = 0; i < a.length; i++) {
    c[i] = i+1;
}
System.out.println("c: "+Arrays.toString(c));
//Solution 4
ArrayList arr = new ArrayList<>();
for(int i = 0; i < 3; i++) {
    arr.add(i+1);
}
//[1,2,3]
System.out.println("arr:"+arr.toString());
2.添加元素(适合上述Solution 4使用)
// Add element
// Time Complexity:O(1)
arr.add(99);
// [1,2,3,99]
System.out.println("arr: "+arr.toString());
// Insert element
// Time Complexity:O(N)
arr.add(3, 88);
// [1,2,3,88,99]
System.out.println("arr: "+arr.toString());
3.访问元素,通过下标(索引)访问
// Access element
// Time Complexity: O(1)
int c1 = c[1];
int arr1 = arr.get(1);
// 1
System.out.println("c1: "+c1);
System.out.println("arr1: "+arr1);
4.更新元素
// Update element
// Time Complexity: O(1)
c[1] = 11;
arr.set(1, 11);
// 1 -> 11
System.out.println("c1: "+c[1]);
System.out.println("arr1: "+arr.get(1));
5.删除元素
// Remove element
// Time Complexity:O(N)
arr.remove(3);
System.out.println("arr1: "+arr.get(1));
6.数组长度

在创建数组的时候,Java内部会形成一个count计算数组的大小,要获得数组大小的时候,计算机会直接取到count的值,而不是再遍历一遍,所以时间复杂度是O(1)。

// The length of an array
// Time Complexity:0(1)
int cSize = c.length
int arrSize = arr.size();
System.out.println("c length: "+cSize);
System.out.println("arr length: "+arrSize);
7.遍历数组
// Iterate an array
// Time Complexity: O(N)
// Iterate c
for (int i = 0; i < c.length; i++) {
    int current = c[i];
    System.out.println("c at index "+i+": "+current);
}
// Iterate arr
for (int i = 0; i < arr.size(); i++) {
    int current = arr.get(i);
    System.out.println("arr at index "+i+": "+current);
}
8.查找元素
// Find an element
// Time Complexity: O(N)
// Find an element in c
for (int i = 0; i < c.length; i++) {
    if (c[i] == 99) {
        System.out.println("We found 99 in c!");
    }
}
// Find an element in arr
boolean is99 = arr.contains(99);
System.out.println("Are we found 99 in arr? "+is99);
9.数组排序
// Sort an array by built-in lib
c = new int[]{2,3,1};
arr = new ArrayList<>();
arr.add(2);
arr.add(3);
arr.add(1);
// [2,3,1]
System.out.println("c: "+Arrays.toString(c));
System.out.println("arr: "+arr.toString());
// from small to big
// Time complexity: O(NlogN)
Arrays.sort(c);
// [1,2,3]
System.out.println("c: "+Arrays.toString(c));
Collections.sort(arr);
System.out.println("arr: "+arr);
// From big to small
// Time complexity: O(NlogN)
// For c, you can read an array in reverse
// Arrays.sort(T[], Collections.reverseOrder());
// For arr
Collections.sort(arr, Collections.reverseOrder());
// [3,2,1]
System.out.println("arr: "+arr);

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992890.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号