前面几节我们讲了数组,还有三种集合。在学了基本的知识之后我们可以来做一些稍微高级一点的事情了。
首先来说说我们的java.util.Arrays类吧。
-
首先,我们的Arrays类可以对我们的数组进行排序: Arrays.sort(array)
- int arr[] = {1,4,2,5,7,3,6};
- Arrays.sort(arr);
- for (int i : arr) {
- System.out.println(i);
- }
- int arr[] = {1,4,2,5,7,3,6};
- Arrays.sort(arr);
- for (int i = arr.length-1; i >= 0; i--) {
- System.out.println(arr[i]);
- }
-
对比数组:Arrays.equals(array1,array2)
- int array1[] = {1,2,3,4,5};
- int array2[] = {1,2,3,4,5};
- System.out.println(Arrays.equals(array1, array2));
- int array[] = {1,2,3,4,5};
- int array1[] = {1,2,3,4,5};
- System.out.println(array.equals(array1));
- int array[] = {1,2,3,4,5};
- int array1[] = array;
- System.out.println(array.equals(array1));
-
搜索元素第一次出现位置:Arrays.binarySearch(array,元素)
- int array[] = {1,2,3,4,5};
- System.out.println(Arrays.binarySearch(array, 2));
- int array[] = {4,3,2,5,1};
- System.out.println(Arrays.binarySearch(array, 1));
-
用Set给List去重复:
- ArrayList<String> list = new ArrayList<>();
- list.add("大妖怪");
- list.add("大妖怪");
- list.add("小妖怪");
- list.add("小妖怪");
- HashSet<String> set = new HashSet<>();
- set.addAll(list);
- for (String str : set) {
- System.out.println(str);
- }
-
java排序算法有不少,这里暂时就讲一下最经典的冒泡排序(倒序):
- int array[] = {1,3,4,5,8,9,2,6,7,0};
- int temp; //记录临时中间值
- for (int i = 0; i < array.length - 1; i++) {
- for (int j = i + 1; j < array.length; j++) {
- if (array[i] < array[j]) { // 交换两数的位置
- temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
- }
- }
- for (int i : array) {
- System.out.println(i);
- }
-
List转数组:List.tpArray()
- ArrayList<String> list = new ArrayList<>();
- list.add("大妖怪");
- list.add("小妖怪");
- String array[] = array = (String[])list.toArray(new String[list.size()]);
- for (String str : array) {
- System.out.println(str);
- }
-
数组转换List:Arrays.asList()
- String[] arr = {"大妖怪","小妖怪"};
- ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));
- for (String str : arrayList) {
- System.out.println(str);
- }