@Test public void FromListToSet() { // Num[] num = {new Num(1),new Num(3),new Num(5),new Num(7)}; // List list = new ArrayList(Arrays.asList(num)); - 바람직하지 않은 Arrays.asList() 의 예 List list = new ArrayList(Arrays.asList(1,3,5,7); - 배열 -> 리스트 List list2 = new ArrayList(list); List list3 = new ArrayList(list); assertThat(list2).isEqualTo(list3); }
#6. 접근 레벨개발자들은 꽤 자주 public 클래스 필드를 사용한다. 외부에서 아주 간단하게 필드 값에 접근을 할 수 있지만, 이건 아주 안 좋은 디자인이다. 제대로 된 디자인은 각 멤버들에게 가능한한 낮은 접근 레벨을 주는 것이다.public, default, protected, and protected#7. ArrayList vs. Linked ListArrayList와 LinkedList의 차이를 모를 때 종종 그냥 더 익숙해 보이는 ArrayList를 사용하곤 한다. 하지만, 이 선택은 아주 큰 성능 차이를 불러온다. 간단히 말해서, LinkedList는 임의 접근(Random Access)이 별로 없고 값의 추가/삭제가 많을 때 사용하는 것이 적당하다. 이 자세한 내용은 ArrayList v..
#1. 일반 배열을 ArrayList로 변환하기보통 많은 개발자가 다음과 같이 일반 배열을 ArrayList로 변환한다:List list = Arrays.asList(arr);view rawconvert-array-to-arraylist-wrong.java hosted with ❤ by GitHubArrays.asList()는 Arrays의 private 정적 클래스인 ArrayList를 리턴한다. java.util.ArrayList 클래스와는 다른 클래스이다. java.util.Arrays.ArrayList 클래스는 set(), get(), contains() 매서드를 가지고 있지만 원소를 추가하는 매서드는 가지고 있지 않기 때문에 사이즈를 바꿀 수 없다. 진짜 ArrayList를 받기 위해서는 다음과..
배열이나 Collection 프레임워크 등에서 sort() 를 사용하면 컴퓨터가 알아서 정렬을 해준다.여기서 사용되는 sort() 는 Comparable 구현에 의해 정렬된 것인데, 오늘은 자바 정렬 Java Comparable과 Comparator에 대해 알아보고자 한다. 나도 여전히 공부중에 있으므로, 이해를 돕기 위해 배열 및 ArrayList 모두를 활용해 예제를 만들어봤다. 결과 먼저 Arrays.sort() 의 작동 결과를 보기 위한 코드를 만들어봤다.String 타입의 배열을 만들었고, 거기에 대한 Arrays.sort() 를 해줬다. 영어는 ABC 순서대로, 한글은 가나다 순서대로 정렬이 된 모습을 확인할 수 있다.Baseball, Basketball 이나 Ski, Soccer 등 같은 알..
"Object"클래스가 가진 메소드 중 "toString"메소드가 있습니다.물론 "Object" 클래스의 모든 메소드는 모든 클래스가 사용이 가능합니다."toString" 메서드는 객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메소드 입니다. 이렇게 출력해보면 결과값에는 이상한 정보가 담기는데이 값은 순수 "Object"의 "toString"결과 값입니다. (결국 의미없는 디폴트 값) 하지만 "Stirng" 클래스나 "File"클래스에서는 "toString"에 메소드를 재정의 하여 의미있는 값을 리턴해 줍니다. toString() 메소드는 자동으로 호출된다 toString 매소드는 자동으로 호출 됩니다. 우리가 자주 사용하던 "String" 클래스 객체를 선언하여 "toString"메소드 없..
● 지속적으로 할 수 있는 동기가 개발자로서 살아가는데 가장 중요한 요소라고 할 수 있다. 정말 프로그래밍 자체가 즐거워서 즐기면서 하는 것이 중요하다. ● 꾸준히 하는 것이 매우 중요한데 그러기 위해서 명확한 목표를 잡아라. 뜸 구름 잡기 식으로 계획을 세우면 놓치기 쉽기 때문이다. ● 학력은 중요한 요소가 아니기 때문에 현재 배우는 것에 최선을 다하자. 1가지일에 몰두 해도 좋은 결과가 온다는 보장이 없기 때문에 1가지에 몰두해서 해라. ● 기존의 틀을 깨라 수동적으로 살지 말고 비판적으로 생각하며 자신의 의견을 피력 하여라. 거기서 부터 삶의 작은 변화가 시작되어 큰 변화를 가져 올 수 있다. 현재 하고 있는 수행과제에서 다양한 테스트코드를 통해 인내력을 갖고 다양한 시도를 해보고 그것을 통해 설계..
ex) (10,10)-(12,13) 에서 숫자만 추출 하려면 1. split ("\\( | \\) | , | - ) 2. StringTokenizer 사용 3. pattern , matcher 클래스 사용 1번 split을 사용하면 특수문자를 비어있는값으로 반환하여 2번,3번을 사용해야 했다. 1번과 2번의 차이는 특수 문자(여기서 특수 문자는 "(" , ")"를 말한다.)를 처리 할때 1번은 비어있는 값을 반환하지만 2번은 그렇지 않다는 것이다. 또한 1번 split에서 매개변수를 하나 더 주면 원하는 곳까지만 자를 수 있었다.예 ) String a = "a,b,c,d"가 있을 시 a.split("," , 2)일 때 결과는 ab,c,d이렇게 잘라준다. 마지막으로 , 3번의 장점은 "( "이든 ">" 이..