Java Arrays, 배열의 출력·복사·채우기·정렬·검색 등
by 볼빵빵오춘기Arrays
배열을 다루기 편리한 메서드(static) 제공한다.
※ static 메서드 - Math, Objects, Collections ⇒ util메서드라고도한다.
- 배열의 출력 - toString()
- 배열의 복사 - copyOf(), copyOfRange()
- 배열 채우기 - fill(), setAll()
- 배열의 정렬과 검색 - sort(), binarySearch()
더보기
⇒ 이진 탐색은 정렬이 안되어있으면 잘못된 결과가 나온다.
⇒ 순차 검색 - 앞(또는 뒤)에서부터 반복문으로 순서대로 검색 이진 탐색 - 배열을 반복해서 반으로 나누어 범위를 줄여가며 비교 탐색한다.
- 다차원 배열의 출력 - deepToString()
- 다차원 배열의 비교 - deepEquals()
- 배열을 List로 변환 - asList(Object…a)
더보기
⇒ list.add(6)의 여기 list는 읽기 전용임 따라서 위의 예외가 발생함
- 람다와 스트림관련 - parallerlXXX(), spliterator(), stream()
예제 코드
import java.util.*;
public class VarEx3 {
public static void main(String[] args) {
int[] arr = {0,1,2,3,4};
int[][] arr2D = {{11,12,13}, {21,22,23}};
System.out.println("arr="+Arrays.toString(arr));
System.out.println("arr2D="+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));
int[] arr7 = new int[5];
Arrays.fill(arr7, 9); // arr=[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 i : arr7) { // 향상된 for문
char[] graph = new char[i];
Arrays.fill(graph, '*');
System.out.println(new String(graph)+i);
}
String[][] str2D = new String[][]{{"aaa","bbb"},{"AAA","BBB"}};
String[][] str2D2 = new String[][]{{"aaa","bbb"},{"AAA","BBB"}};
System.out.println(Arrays.equals(str2D, str2D2)); // false
System.out.println(Arrays.deepEquals(str2D, str2D2)); // true
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);
System.out.println("chArr="+Arrays.toString(chArr));
System.out.println("index of B ="+Arrays.binarySearch(chArr, 'B'));
}
}
'👩🏻💻 About 프로그래밍 > Java' 카테고리의 다른 글
Java HashSet, TreeSet, HashSet의 주요 메서드 (1) | 2023.12.07 |
---|---|
Java Comparator와 Comparable (0) | 2023.12.07 |
Java Iterator, ListIterator, Enumration, Map과 Iterator (0) | 2023.12.07 |
Java 스택과 큐(Stack & Queue), 스택& 큐 활용 (0) | 2023.12.07 |
Java LinkedList, LinkedList vs ArrayList (0) | 2023.12.07 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기