Arrays = 배열을 다루기 편리한 메서드(static) 제공
배열의 출력 - toString()
배열의 복사 - copyOf(), copyOfRange()
배열 채우기 - fill(), setAll()
배열의 정렬과 검색 - sort(), binarySearch()
다차원 배열의 출력 - deepToString()
다차원 배열의 비교 - deepEquals()
배열을 List로 변환 - asList(Object...a)
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class quiz1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
List list = Arrays.asList(1,23,3);
List list2 = Arrays.asList(new Integer[] {1,2,3,4});
List list3 = new ArrayList(Arrays.asList(3,4,5));
System.out.println(list);
System.out.println(list2);
System.out.println(list3);
}
}
[1, 23, 3]
[1, 2, 3, 4]
[3, 4, 5]
import java.util.Arrays;
public class ex11_6 {
public static void main(String[] args) {
// 배열 생성
int[] arr = {0,1,2,3,4};
int[][] arr2D = {{11,12,13},{21,22,23}};
//String타입으로 배열 출력
System.out.println("arr="+Arrays.toString(arr));
System.out.println("arr="+Arrays.deepToString(arr2D));
// 기존 배열 복사 후 생성
int[] arr2 = Arrays.copyOf(arr, arr.length);
int[] arr3 = Arrays.copyOf(arr, 3);
int[] arr4 = Arrays.copyOf(arr, 7);
int[] arr5 = Arrays.copyOfRange(arr, 2, 4);
int[] arr6 = Arrays.copyOfRange(arr, 0, 7);
System.out.println("arr2="+Arrays.toString(arr2));
System.out.println("arr3="+Arrays.toString(arr3));
System.out.println("arr4="+Arrays.toString(arr4));
System.out.println("arr5="+Arrays.toString(arr5));
System.out.println("arr6="+Arrays.toString(arr6));
// arr=[0, 1, 2, 3, 4]
// arr=[[11, 12, 13], [21, 22, 23]]
// arr2=[0, 1, 2, 3, 4]
// arr3=[0, 1, 2]
// arr4=[0, 1, 2, 3, 4, 0, 0]
// arr5=[2, 3]
// arr6=[0, 1, 2, 3, 4, 0, 0]
System.out.println("--------------------------");
int[] arr7 = new int[5];
Arrays.fill(arr7, 9); // arr7= [9,9,9,9,9]
System.out.println("arr7 ="+Arrays.toString(arr7));
Arrays.setAll(arr7, i -> (int)(Math.random()*6)+1);
System.out.println("arr7="+Arrays.toString(arr7));
// for (int x=0; x<arr7.length; x++){
// int i = arr7[x]; 대신에 아래와 같이 작성할 수 있음
for (int i : arr7) { //향상된 for문 (for each문)
char[] graph = new char[i];
Arrays.fill(graph,'*');
System.out.println(new String(graph)+i);
// arr7 =[9, 9, 9, 9, 9]
// arr7=[2, 2, 3, 6, 6]
// **2
// **2
// ***3
// ******6
// ******6
System.out.println("--------------------------");
char[] chArr = {'A','D','C','B','E'};
System.out.println("chArr=" + Arrays.toString(chArr));
System.out.println("index of B ="+Arrays.binarySearch(chArr,'B'));
System.out.println("=After sorting =");
Arrays.sort(chArr); //binarySerach하기전에는 배열을 정렬해야함.
System.out.println("chArr="+Arrays.toString(chArr));
System.out.println("index of B ="+Arrays.binarySearch(chArr,'B'));
// chArr=[A, D, C, B, E]
// index of B =-2
// =After sorting =
// chArr=[A, B, C, D, E]
// index of B =1
}
}
}
arr=[0, 1, 2, 3, 4]
arr=[[11, 12, 13], [21, 22, 23]]
arr2=[0, 1, 2, 3, 4]
arr3=[0, 1, 2]
arr4=[0, 1, 2, 3, 4, 0, 0]
arr5=[2, 3]
arr6=[0, 1, 2, 3, 4, 0, 0]
--------------------------
arr7 =[9, 9, 9, 9, 9]
arr7=[2, 3, 5, 4, 5]
**2
--------------------------
chArr=[A, D, C, B, E]
index of B =-2
=After sorting =
chArr=[A, B, C, D, E]
index of B =1
***3
--------------------------
chArr=[A, D, C, B, E]
index of B =-2
=After sorting =
chArr=[A, B, C, D, E]
index of B =1
*****5
--------------------------
chArr=[A, D, C, B, E]
index of B =-2
=After sorting =
chArr=[A, B, C, D, E]
index of B =1
****4
--------------------------
chArr=[A, D, C, B, E]
index of B =-2
=After sorting =
chArr=[A, B, C, D, E]
index of B =1
*****5
--------------------------
chArr=[A, D, C, B, E]
index of B =-2
=After sorting =
chArr=[A, B, C, D, E]
index of B =1
'개인공부' 카테고리의 다른 글
TreeSet - 범위 탐색, 정렬 (0) | 2022.08.23 |
---|---|
HashSet (0) | 2022.08.23 |
지네릭스 (Generics) (0) | 2022.08.21 |
Iterator / ListIterator / Enumeration / Map (0) | 2022.08.17 |
스택과 큐의 활용 (0) | 2022.08.16 |
댓글