关于Java中数组的常用操作方法
1. 声明一个数组
1 String[] arr1 = new String[5];
2 String[] arr2 = {"a","b","c", "d", "e"};
3 String[] arr3= new String[]{"a","b","c","d","e"};
2. 输出一个数组
1 int[] arr = { 1, 2, 3, 4, 5 };
2 String arrString = Arrays.toString(arr);
3
4 // 直接输出,为内存地址
5 System.out.println(arr);
6 // [I@139a55
7
8 System.out.println(arrString );
9 // [1, 2, 3, 4, 5]
3. 检查一个数组是否包含某值
1 String[] arr= { "a", "b", "c", "d", "e" };
2 boolean b = Arrays.asList(arr).contains("a");
3 System.out.println(b);
4 // true
4. 连接两个数组
1 //使用Apache Commons Lang library
2
3 1 int[] arr1 = { 1, 2, 3, 4, 5 };
4 2 int[] arr2= { 6, 7, 8, 9, 10 };
5 3 int[] combArr = ArrayUtils.addAll(arr1 , arr2);
// System.arraycopy()
1 static String[] concat(String[] a, String[] b) {
2 String[] c = new String[a.length + b.length];
3 System.arraycopy(a, 0, c, 0, a.length);
4 System.arraycopy(b, 0, c, a.length, b.length);
5 return c;
6 }
1 //Arrays.copyOf()
2
3 public static int[] concat(int[] first, int[] second) {
4 int[] result = Arrays.copyOf(first, first.length + second.length);
5 System.arraycopy(second, 0, result, first.length, second.length);
6 return result;
7 }
5. 逆向输出一个数组
1 // Apache Commons Lang library
2
3 int[] arr= { 1, 2, 3, 4, 5 };
4 ArrayUtils.reverse(intArray);
5 System.out.println(Arrays.toString(intArray));
6 //[5, 4, 3, 2, 1]
1 int[] arr = { 1, 2, 3, 4, 5 };
2 int[] revArr = new int[arr.length];
3 for(int i = 0; i < arr.length; i++){
4 revArr[i] = arr[arr.length - i -1];
5 }
6 System.out.println(Arrays.toString(revArr));
7
8 //[5, 4, 3, 2, 1]
6. 移除数组中的元素
1 // Apache common lang
2
3 int[] arr= { 1, 2, 3, 4, 5 };
4 int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array
5 System.out.println(Arrays.toString(removed))
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 使用Druid监控SQL执行状态
- 下一篇: php批量处理多维数组替换,删除部分键值
