代码改变世界

12个操作数组的最佳方法

2015-01-13 08:40  踏雪无痕轻似燕  阅读(228)  评论(0编辑  收藏  举报

1. 声明一个数组

[java] 预览复制
  1. String[] aArray = new String[5];  
  2. String[] bArray = {"a","b","c", "d", "e"};  
  3. String[] cArray = new String[]{"a","b","c","d","e"};  

2. 输出一个数组

[java] 预览复制
  1. int[] intArray = { 1, 2, 3, 4, 5 };  
  2. String intArrayString = Arrays.toString(intArray);  
  3. // print directly will print reference value  
  4. System.out.println(intArray);  
  5. // [I@7150bd4d  
  6. System.out.println(intArrayString);  
  7.  // [1, 2, 3, 4, 5]  

3. 从一个数组创建数组列表

[java] 预览复制
  1. String[] stringArray = { "a", "b", "c", "d", "e" };  
  2. ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));  
  3. System.out.println(arrayList);  
  4. // [a, b, c, d, e]  

4. 检查一个数组是否包含某个值

[java] 预览复制
  1. String[] stringArray = { "a", "b", "c", "d", "e" };  
  2.  boolean b = Arrays.asList(stringArray).contains("a");  
  3.  System.out.println(b);  
  4.  // true  

5. 连接两个数组

[java] 预览复制
  1. int[] intArray = { 1, 2, 3, 4, 5 };  
  2. int[] intArray2 = { 6, 7, 8, 9, 10 };  
  3. // Apache Commons Lang library  
  4. int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);  

6. 声明一个内联数组

[java] 预览复制
  1. method(new String[]{"a", "b", "c", "d", "e"});  

7. 把提供的数组元素放入一个字符串

[java] 预览复制
  1. // containing the provided list of elements  
  2. // Apache common lang  
  3. String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");  
  4. System.out.println(j);  
  5. // a, b, c  

8. 将一个数组列表转换为数组

[java] 预览复制
  1. String[] stringArray = { "a", "b", "c", "d", "e" };  
  2. ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));  
  3. String[] stringArr = new String[arrayList.size()];  
  4. arrayList.toArray(stringArr);  
  5. for (String s : stringArr)  
  6. System.out.println(s);  

9. 将一个数组转换为集(set)

[java] 预览复制
  1. Set set = new HashSet(Arrays.asList(stringArray));  
  2. System.out.println(set);  
  3. //[d, e, b, c, a]  

10. 逆向一个数组

[java] 预览复制
  1. int[] intArray = { 1, 2, 3, 4, 5 };  
  2. ArrayUtils.reverse(intArray);  
  3. System.out.println(Arrays.toString(intArray));  
  4. //[5, 4, 3, 2, 1]  

11. 移除数组中的元素

[java] 预览复制
  1. int[] intArray = { 1, 2, 3, 4, 5 };  
  2. int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array  
  3. System.out.println(Arrays.toString(removed));  

12. 将整数转换为字节数组

[java] 预览复制
  1. byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();  
  2.   
  3. for (byte t : bytes) {  
  4. System.out.format("0x%x ", t );  

}