【Java】数组操作的13种方法

内容来自StackoverFlow.可能对一些大神来讲太简单,但是这里好多用法我真的第一次用,学习了.

0.定义一个数组

String[] aArray = new String[5];String[] bArray = {"a", "b", "c", "d", "e"};String[] cArray = new String{"a", "b", "c", "d", "e"};

第一种是定义一个数组,并指定数组的长度,我们这里称它为动态定义.

第二和第三种在分配内存的时候同时进行了初始化.

1.打印Java数组中的元素

int[] intArray = { 1, 2, 3, 4, 5 };String intArrayString = Arrays.toString(intArray);// print directly will print reference valueSystem.out.println(intArray);// [I@7150bd4dSystem.out.println(intArrayString);// [1, 2, 3, 4, 5]这里重点说明了Java数组值和引用的区别,第三行代码直接打印intArray输出的是乱码,因为intArray仅仅是一个引用地址,第四行代码输出的是真正的数组值,因为它经过了Arrays.toString()的转化.

2.从Array中创建ArrayList

String[] stringArray = { "a", "b", "c", "d", "e" };ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));System.out.println(arrayList);// [a, b, c, d, e]为什么要将Array转换为ArrayList呢?可能因为ArrayList是动态链表吧,我们可以更方便的对ArrayList进行增删改,我们并不需要循环Array将每一个元素添加到ArrayList里,用以上的代码就可以进行转换.

3.检查数组中是否包含某一个元素

String[] stringArray = { "a", "b", "c", "d", "e" };boolean b = Arrays.asList(stringArray).contains("a");System.out.println(b);// true先通过Arrays.asList()方法将Array转化为ArrayList<String>,然后可以通过contains()方法判断元素是否包含在链表中.

4.连接两个数组

int[] intArray = { 1, 2, 3, 4, 5 };int[] intArray2 = { 6, 7, 8, 9, 10 };// Apache Commons Lang libraryint[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);ArrayUtils是Apache提供的数组处理类库,其addAll()方法可以很方便的将两个数组连接成一个数组.

5.声明一个数组内链

method(new String[]{"a", "b", "c", "d", "e"});6.将数组中的元素以字符串的形式输出

// containing the provided list of elements// Apache common langString j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");System.out.println(j);// a, b, c同样利用StringUtil中的join()方法,可以将数组中的元素以字符串的形式输出.

7.将Array转化成Set集合

Set<String> set = new HashSet<String>(Arrays.asList(stringArray));System.out.println(set);//[d, e, b, c, a]

在Java中使用Set,可以方便的将需要的类型以集合类型保存在一个变量中,主要应用在显示列表.同样可以先将Array转化为List,然后将List转化为Set.

8.数组逆置

int[] intArray = { 1, 2, 3, 4, 5 };ArrayUtils.reverse(intArray);System.out.println(Arrays.toString(intArray));//[5, 4, 3, 2, 1]同样用到强大的ArrayUtils.

9.从数组中移除一个元素

int[] intArray = { 1, 2, 3, 4, 5 };int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new arraySystem.out.println(Arrays.toString(removed));10.将一个int值转化为Byte数组

byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();for (byte t : bytes) {System.out.format("0x%x ", t);}11.复制数组

int[] intArray1 = {1,2,3,4,5};int[] intArray2 = new int[5];System.arrayCopy(intArray1, 0, intArray2, 0, intArray2.length);第一个参数是源字符串,第二个参数代表着从源数组的哪一个位置开始复制,第三个参数是目的数组,第四个参数代表着在目的数组中放置复制内容的起始位置,第五个参数代表着复制内容的长度.

12.对数组进行排序

double[] num = {1.0, 5.2, 3.7, 2.9, 4.2};java.util.Arrays.sort(num);

Arrays类中还有很多有用的方法.

,每天告诉自己一次,『我真的很不错』

【Java】数组操作的13种方法

相关文章:

你感兴趣的文章:

标签云: