본문 바로가기
728x90
반응형

Java/JAVA에 대하여12

순서가 보장되는 map과 set java에는 Map과 Set으로 HashMap과 HashSet, TreeMap과 TreeSet이 있습니다.cpp에는 같은 효과를 내는 unordered_map과 unordered_set, map과 set이 있습니다. 이 모든 map과 set은 순서를 보장하지 않죠. 알고리즘 문제를 풀거나, 프로젝트를 개발하다보면순서가 보장되면서, key값이 중복되지 않는 것들을 추려야 하는 경우가 발생합니다. 이런 경우 LinkedHashMap과 LinkedHashSet이라는 라이브러리 함수를 통해 진행이 가능합니다. LinkedHashSet set = new LinkedHashSet();set.add(1);set.add(2); System.out.print(set);다음과 같이 사용할 수 있으며, 결과는 다음과 같습.. 2024. 8. 25.
startsWith, endsWith 무조건 좋은가 java에는 A라는 문자열의 맨앞에 B라는 문자열이 prefix(접두사)로 있는지 체크하는 함수인 startsWith가 있습니다.또한 A라는 문자열의 맨 뒤에 B라는 문자열이 suffix(접미사)로 있는지 체크하는 함수인 endsWith가 있습니다.여기서 하나의 궁금증이 생깁니다."문자열 : 문자열" 비교가 아닌 "문자열 : 문자" 비교인 경우에 startsWith나 endsWith보다 charAt()가 더 좋지 않을까?라는 의문을 가지고 테스트에 들어갔습니다.테스트 소스public class Main { static String s = ""; static int size = 1000000000; public static void main(String[] args) { Sys.. 2024. 8. 17.
int vs Integer int와 Integer의 차이는 원시타입과 객체타입로 보시면 됩니다.그러나 둘다 숫자를 저장한다는 공통점을 가지고 있습니다.'그러면 int대신에 Integer로 전부 통일시키면 괜찮지 않을까?' 라는 생각을 하게 되었고, 이를 기반으로 시간 테스트를 진행해 보았습니다. 가장먼저 각 값들을 n번 선언해보았습니다. int a = 0; long beforeTime = System.currentTimeMillis(); for(int i = 0; i  intInteger시간(ms)14 이번엔 값 선언 후, +1 연산을 수행해 보았습니다.  int a = 0; long beforeTime = System.currentTimeMillis(); for(int i = 0; i  intInteger시간(ms)1.. 2024. 6. 9.
알아두면 좋은 for, switch 자바로 소스코드를 작성하다 보면, for문(반복문)이나 switch(조건문) 등의 코드를 작성하게 됩니다.해당 코드들을 편리하게 사용하기 위한 방법들에 대해 이야기해보고자 합니다. for문for문에 대해서는 일반적으로 해당 방식으로 사용합니다.ArrayList arr = new ArrayList():int sum = 0;for(int i = 0; i 굳이 i라는 변수를 for문내에서 말고는 사용하지 않은 경우, 특정 컬렉션들의 값들을 전부 출력하는 경우에는 더 효율적은 foreach문이 존재합니다. foreach문은 해당 방식으로 사용이 가능합니다.ArrayList arr = new ArrayList();int sum = 0;for(int a : arr) { sum += a;} switch문기본적으로 j.. 2024. 6. 2.
728x90
반응형