분류 전체보기

·PS/JAVA
접근map[type] -> 자바는 map을 배열처럼 접근할 수 없다무조건 map.get(key) or map.put(key,value) 사용해야한다.put()put(key,value) 해당 key가 이미 존재하면 → value를 덮어씌웁니다. (기존 값이 새 값으로 바뀜)해당 key가 없으면 → 새로 추가 반환값은 기존 값이다.Integer oldValue = map.put("apple", 10);System.out.println(oldValue); // 이전 값인 5 출력 📚 putIfAbsent vs getOrDefault 차이putIfAbsent(key, value)키가 없으면 value를 넣고, 있으면 무시값 덮어쓰기 원하지 않을 때getOrDefault(key, defaultValue)키가 있..
·PS/JAVA
InputStreamReaderSystem.in -> 바이트 기반 입력BufferedReader -> 문자 기반 입력=> 형 변환 어댑터 필요 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Integerint 기본형을 감싸는 래퍼 클래스public static int parseInt(String s)parseInt : 래퍼 클래스가 보유한 메서드 중 하나Auto-Boxing,Unboxingint a = 10;Integer obj = a;// 오토박싱 int -> Integer 자동 형 변환Integer obj = 20; int b = obj; // 언박싱: Integer → int;// 언박싱: Integer → int..
·PS/JAVA
함수 인자로 왜 new ArrayList()만 쓰고 List는 안 써도 될까? ✅ 핵심 결론여기서 new ArrayList()는 익숙한 축약 문법이에요.타입 생략이 가능한 이유는, 자바 컴파일러가 타입 추론(type inference) 을 해주기 때문입니다. ✅ 정리표현                                          의미new ArrayList()자바 7 이상에서 타입 생략 가능한 축약 문법왜 생략 가능?메서드의 매개변수 타입을 보고 자바가 자동 추론 (type inference) 참고로... 변수에 직접 할당하는 경우도 마찬가지!List temp = new ArrayList(); // OK! 컴파일러가 타입 추론
·PS/JAVA
❓ 왜 System.out.println(uniqueArr); 이렇게 하면 배열 내용이 안 보이고,이상한 문자들이 나올까? ✅ 이유: 배열은 객체지만, toString()이 오버라이딩되어 있지 않기 때문!자바에서 System.out.println(객체)는 내부적으로 객체.toString()을 호출합니다.그런데 배열은 Object를 상속하지만,toString() 메서드를 오버라이딩하지 않아서 "클래스명@해시코드" 형식으로 출력됩니다.📌 그래서 int[] → [I@abc123📌 String[] → [Ljava.lang.String;@abc123✅ 해결 방법System.out.println(Arrays.toString(uniqueArr));System.out.println(Arrays.deepToStrin..
·PS/JAVA
Array Vs ListList : 객체, 동적 배열, Integer 객체의 주소를 저장Array : 객체, 정적 배열, 값을 직접 저장 ✅ 정리배열에 int를 쓸 수 있는 이유?배열은 제네릭이 아니라 JVM이 기본형을 직접 처리할 수 있음리스트에 int를 못 쓰는 이유?제네릭은 객체 타입만 받기 때문에 Integer 같은 참조형만 가능함불편하지 않나요?자바가 자동으로 int ↔ Integer 변환해줌 (Auto-boxing)“배열도 객체고, 배열에도 Integer를 넣을 수 있는데,왜 실제 개발에서는 보통 int[]를 쓰지 Integer[]를 잘 안 쓸까?” ✅ 답변배열에도 Integer[] 쓸 수 있는데 왜 잘 안 쓰나요?int[]가 성능과 메모리에서 훨씬 유리하기 때문이에요.Integer[]는 언제..
브리오
'분류 전체보기' 카테고리의 글 목록