항상 파이썬으로 코테 문제를 풀어보다가 처음 자바로 풀려고 하니까 헷갈려서 정리 한번 하고 풀어야겠다 생각했다...
1. 배열
import java.util.Arrays;
public class Solution {
public static void main(String[] args) {
int[] array = { 1, 2, 3, 4, 5 };
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
int[] array3 = new int[5];
array3[0] = 0;
array3[1] = 2;
array3[2] = 4;
array3[3] = 6;
array3[4] = 8;
System.out.println(Arrays.toString(array)); // [1, 2, 3, 4, 5]
System.out.println(Arrays.toString(array2)); // [1, 3, 5, 7, 9]
System.out.println(Arrays.toString(array3)); // [0, 2, 4, 6, 8]
}
}
2. 리스트
// 리스트 객체 생성
ArrayList<Integer> list = new ArrayList<>();
// 값 추가
list.add(1);
list.add(2);
list.add(4);
list.add(6); // ❶
System.out.println(list.get(2)); // ❷ 4, 인덱스로 값에 접근
System.out.println(list); // ❸ [1, 2, 4, 6]
3. 해시맵
해시맵 초기화
HashMap<String, Integer> map = new HashMap<>();
해시맵 데이터 삽입과 출력
// 해시맵 값 삽입
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
// 해시맵 값 출력
System.out.println(map); // {banana=2, orange=3, apple=1}
해시맵 데이터 검색
String key = "apple";
if (map.containsKey(key)) {
int value = map.get(key);
System.out.println(key + ": " + value); // apple: 1
}
else {
System.out.println(key + "는 해시맵에 없습니다.");
}
해시맵 수정, 삭제
map.put("banana", 4);
System.out.println(map); // {banana=4, orange=3, apple=1}
map.remove("orange");
System.out.println(map); // {banana=4, apple=1}
문자열 추가, 삭제
String string = "He"; // ➊
string += "llo"; // ➋
System.out.println(string); // "Hello"
String string = "Hello";
string = string.replace("l", ""); // "l"을 모두 삭제
System.out.println(string); // "Heo"
private static class Node {
int dest, cost;
public Node(int dest, int cost) {
this.dest = dest;
this.cost = cost;
}
}
public static void main(String[] args) {
Node[] nodes = new Node[5];
nodes[0] = new Node(1, 10);
nodes[1] = new Node(2, 20);
nodes[2] = new Node(3, 15);
nodes[3] = new Node(4, 5);
nodes[4] = new Node(1, 25);
Arrays.sort(nodes, (o1, o2) -> Integer.compare(o1.cost, o2.cost)); // ➊
Arrays.sort(nodes, new Comparator<Node>() {
@Override
public int compare(Node o1, Node o2) {
return Integer.compare(o1.cost, o2.cost);
}
}); // ➋
}