1 -> 2 -> 3 -> 4 순으로 빨라진다. 다만, 확실하지는 않다. leetcode에 제출하면 나오는 시간대로 측정했다.
1) Math.floor(n) == Math.ceil(n) : 18ms
2) n % 1 == 0 : 13ms ~ 15ms
3) n == (Math.ceil(n)) : 8ms ~ 11ms (floor, rint도 비슷)
4) n == (int)n : 4ms ~ 7ms
Map<String, int> map = new HashMap<>() {{
put("a", 1);
put("b", 2);
}};
이런 애들을 double brace initiallizing이라 부른다. 되게 편리하고 고급져보이는데 단점이 있다고 한다. 이런 식으로 만들 때마다 익명 클래스가 생성되고, 참조가 숨겨지고? 그로 인해 메모리 누수를 일으킬 수 있다고 한다.
참고 링크
처음 보는 메소드라 찾아봤는데, 원소가 1개만 존재할 경우 사용한다고 한다.
오늘 드디어 강의 진도를 따라잡았다. 이번 주가 저번 주보다는 확실히 배우기에 수월하다. 겨우 따라잡은 진도 놓치지 않도록 코어타임 전에 강의를 듣고, 코테는 시간이 남으면 해야겠다.