Search

Arrays

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
๋ณต์‚ฌ