본문 바로가기
728x90
반응형

Java/JAVA에 대하여8

문자열 다루기 자바를 활용해서 코드를 작성하다보면 여러번 값을 출력해야 하는 경우가 발생합니다. 이럴 경우 여러번 모두 해당 형식처럼 작성하게 됩니다. for(int i = 0; i < n; i++){ System.out.print(i + " "); } 이럴 경우, 많은 시간을 출력하는데 소요되게 됩니다. 여러번 출력해야 하는 경우 보통 StringBuilder를 선언하여 사용합니다. StringBuilder sb = new StringBuilder(); for(int i = 0; i < n; i++){ sb.append(i).append(" "); } System.out.print(sb); 해당 형식으로 출력하게 되면, 마지막에 공백이 포함되게 됩니다. 그런 경우 .trim()으로도 처리가 가능하지만, 더 좋은 방법.. 2024. 4. 14.
LinkedHashSet에 대하여 JAVA에는 다양한 Set, Map의 종류가 있습니다. 그 중, 저장 순서를 보장하면서 중복을 제거해주는 HashSet의 역할을 하는 LinkedHashSet이 있습니다. LinkedHashSet set = new LinkedHashSet(); 으로 선언할 수 있고, 일반적인 set과 동일하게 사용하시면 됩니다. 해당 라이브러리를 활용해서 풀 수 있는 문제 https://www.acmicpc.net/problem/13414 13414번: 수강신청 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 과목의 수강 가능 인원 K(1 ≤ K ≤ 100,000)와 학생들이 버튼을 클릭한 순서를 기록한 대기목 www.acmicpc.net ※ 추후 CPP로 구현해 볼.. 2023. 11. 1.
HashSet 내부 이클립스에서 HashSet set = new HashSet(); 을 선언하였을 떄, HashSet 부분을 'Ctrl + 클릭'을 통해서 확인했던 내용을 정리해보고자 적게 되었습니다. HashSet을 활용하는데 어느 정도는 좀 더 알고 활용을 하자는 취지로 정리하였습니다. public HashSet() { map = new HashMap(); } 가장 먼저 보이는 것을 보면, HashSet을 선언하면 HashMap();으로 선언하는 것을 볼 수 있습니다. 이는 추후에 나오는 부분을 보면 이해가 가능합니다. public HashSet(Collection 2022. 9. 24.
JAVA의 깊은 복사, 얕은 복사 #얕은 복사 1번을 2번에 복사할 경우 1번이 수정이 일어나거나 2번이 수정이 발생하면 둘다 수정이 된다. 얕은 복사는 주소값을 복사하기 때문에 주소로 값을 참조하여 값이 변경되면 해당 값을 참조하고 있는 배열들의 값이 변경된다. int[] a = {1, 2, 3}; int[] b = a; b[0] = 2; 를 한 후 System.out.println(Arrays.toString(a)); System.out.print(Arrays.toString(b)); 를 할경우 [2, 2, 3] [2, 2, 3] 을 출력하게 된다. #깊은 복사 1번을 2번에 복사할 경우 1번이 수정이 일어나거나 2번이 수정이 발생해도 값은 수정이 발생한 곳만 변경된다. 주소값을 참조하는 것이 아닌, 새로운 메모리 공간에 값을 복사하.. 2021. 12. 30.
728x90
반응형