본문 바로가기

어쩌면 모두 궁금할지도?11

Arrays.sort() vs. Collections.sort() Arrays.sort() 원시 데이터 타입 배열(int[], double[], char[] 등)을 정렬할 때 사용한다. int[] num = {4, 2, 6, 1, 3, 5}; Arrays.sort(num); //{1, 2, 3, 4, 5, 6} Collections.sort() 객체 타입 리스트를 정렬하는 데 사용한다. List num = new ArrayList (Arrays.asList(4, 2, 6, 1, 3, 5)); Collections.sort(num); // [1, 2, 3, 4, 5, 6] **메서드 사용하려면 각각 util에서 mort해줘야함! **기본 값은 오름차순! 내림차순은 comparator 생성해서 해보기.. 2023. 7. 18.
intValue() vs. Integer.parseInt() intValue() 래퍼 클래스 'Integer' 객체를 기본 데이터 타입 'int'로 변환하는 메소드 Integer num = 1; int convertedNum = num.intValue(); Integer 객체 값을 int로 변환하여 convertedNum변수에 저장했다. Integer.parseInt() 문자열을 해당 기본 데이터 타입 'int'로 변환하는 메소드. String str = 1; int num = Integer.parseInt(str); 2023. 7. 12.
.equals() 재밌는 실험 ==가 저장되어있는 주소값을 비교하는 것이라면 equals는 객체의 내용을 비교하는 메소드이다. public static void main(String[] args) { String a = "123"; String b = "456"; String c = new String("123"); Integer num1 = 1; Integer num2 = 1; int num3 = 1; int num4 = 1; //a와 b는 다른 값을 참조한다. System.out.println(a.equals(b)); //a와 c는 같은 값을 갖고 있다. System.out.println(a.equals(c)); //c는 새로운 객체. 같은 값을 갖고 있지만 메모리 주소는 다르다. System.out.println(a == c);.. 2023. 7. 12.
break; vs. return; void run(){ while (true) { if (gas > 0){ System.out.println("left gas : "+gas); gas-=1; } else { System.out.println("Check your gas."); return; } } } 메소드 만들다가 return; 대신 break;는 사용할 수 없는지 궁금 그 차이는 뭔지? 결론부터 말하자면 둘 다 사용 가능하다. 1. return을 사용할 경우 else인 경우에 return하고 바로 run 메소드 탈출. 2. break를 사용할 경우 else문만 빠져나오라는 뜻으로 밑의 단계를 거처 run 메소드 탈출. 주어진 코드에는 else 밑에 다른 조건문이 없지만 while문을 탈출해야 run 메소드를 탈출할 수 있다. 그럼 w.. 2023. 7. 5.
(int) vs. parseInt vs. valueOf System.out.printf((int)(Math.pow(2,i))+" "); (int) 대신에 parse나 value쓰면 안 되나? 갑자기 궁금 1. parseInt : 참조 타입 변환으로 int로 기본 자료형 리턴해줌 해줬더니 숫자가 아닌 문자형을 숫자형으로 바꾸려고 하니 당연 포맷 에러가 발생했다. 2. valueOf : 참조 타입 변환으로 Integer.valueOf 를 사용했다 하면 new Integer로 객체를 리턴해줌 이 방법 또한 빨간 줄이 떴고 1번과 같은 루틴이 돈다. parse와 value 모두 문자형 string에서는 적용이 안 되며 int로 강제 타입 변환은 정수인 string에서만 가능하다는 것을 배웠다!(string으로 변환 후 (int)도 해봤음) + character와 s.. 2023. 7. 4.