import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
public class ArraysEx {
public static void main(String[] args) {
Integer[] arr = {5, 3, 4, 1, 2};
// ๋ฐฐ์ด ์ ๋ ฌ (sort) - ์ค๋ฆ์ฐจ์
Arrays.sort(arr);
for (Integer i : arr) {
System.out.print(i + " ");
}
System.out.println();
// ๋ฐฐ์ด ์ ๋ ฌ (sort) - ๋ด๋ฆผ์ฐจ์
Arrays.sort(arr, Collections.reverseOrder());
for (Integer i : arr) {
System.out.print(i + " ");
}
System.out.println();
// ์ด์ง ํ์ ์๊ณ ๋ฆฌ์ฆ (BinarySearch)
// Arrays.binarySearch(๋ฐฐ์ด, ์ฐพ์ ๊ฐ)
// - ์ ์ ์กฐ๊ฑด : ์ฃผ์ด์ง ๋ฐฐ์ด์ด ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋์ด ์์ด์ผํ๋ค.
// - ์ด์ง ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ํ์ํ ํ,
// 1. ํด๋น ๊ฐ์ด ์์ผ๋ฉด, ๊ทธ ์์น(index)๋ฅผ ๋ฐํ
// 2. ํด๋น ๊ฐ์ด ์์ผ๋ฉด, () - (insertion point -1 ) ์์๋ฅผ ๋ฐํ
// * insertion point
// : ํด๋น ๊ฐ์ด ๋ฐฐ์ด์ด ์๋ค๊ณ ๊ฐ์ ํ์ ๋, ์ ๋ ฌ์ ๋ฐ๋ผ ์ฝ์
๋์ด์ผํ ์์น
// 1~100 ์ฌ์ด์ ๋๋ค ์ ์ ์์ด์ ๋ง๋ค๊ณ ,
// ์ด ์ค์์ ์ ์ 10์ ์ด์ง ํ์ ์๊ณ ๋ฆฌ์ฆ์ ํ์ํด๋ณด์.
int[] random = new int[100];
Random rand = new Random();
for (int i = 0; i < random.length; i++) {
random[i] = rand.nextInt(100) + 1;
}
// ์ค๋ฆ ์ฐจ์ ์ ๋ ฌ
Arrays.sort(random);
for (int item : random) {
System.out.print(item +" ");
}
System.out.println();
// ์ด์ง ํ์
// : ์ ์ 10์ 100๊ฐ์ ๋๋ค ์ ์ค์์ ํ์
int result = Arrays.binarySearch(random, 10);
if( result < 0 ) {
System.out.println("๋๋ค ์ 10์ด ์์ต๋๋ค");
System.out.println("insertion point : " + result);
}
else {
System.out.println("๋๋ค ์ 10์ ์์น(index) : " + result);
}
// Arrays.fill(๊ฐ)
// : ๊ฐ์ผ๋ก ๋ชจ๋ ๋ฐฐ์ด ์์๋ฅผ ์ฑ์ฐ๋ ๋ฉ์๋
int fill[] = new int[10];
Arrays.fill(fill, 8); // ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ 8๋ก ์ฑ์
for (int i = 0; i < fill.length; i++) {
System.out.print(fill[i] + " ");
}
System.out.println();
// Arrays.copyOf(๋ฐฐ์ด, ๊ธธ์ด)
// : ๋ฐฐ์ด์ ์์์ ๋ถํฐ (๊ธธ์ด)๊ฐ์ ์์๋ฅผ ๋ณต์ฌํ์ฌ ์ ๋ฐฐ์ด๋ก ๋ฐํ
int copy[] = Arrays.copyOf(fill, 3);
// 8 8 8 8 8 8 8 8 8 8
// 8 8 8 ์ ๋ณต์ฌํ์ฌ ๋ฐํ
for (int i = 0; i < copy.length; i++) {
System.out.print(copy[i] + " ");
}
System.out.println();
// Arrays.copyOfRange(๋ฐฐ์ด, ์์index, ๋index+1)
// : ๋ฐฐ์ด์ ์์index~๋index ๊น์ง์ ์์๋ฅผ ๋ณต์ฌํ์ฌ ์ ๋ฐฐ์ด๋ก ๋ฐํ
int copyRange[] = Arrays.copyOfRange(random, 11, 21); // index 11~20 ๊น์ง ๋ณต์ฌ
for (int i = 0; i < copyRange.length; i++) {
System.out.print(copyRange[i] + " ");
}
System.out.println();
}
}
Java
๋ณต์ฌ