반응형 전체 글1036 자바 set 정렬 기준 및 예제 자바에서 set에 대해 배울 때 set은 정렬 순서가 없으며 무작위로 호출되기 때문에 순서를 가지게 하고 싶으면 LinkedHashSet을 사용하라는 식으로 많이 배웠을텐데 실제 set에 값을 넣고 iterator로 값을 꺼내보면 무작위로 넣었는데도 실 출력시 값이 정렬이 되어서 뽑히고 여러번 다시 출력하더라도 결과는 동일하다 이거 왜 이러지? 싶을텐데 실제 set에 값을 넣을 때 hashCode 값을 가지고 넣기 때문에 무작위로 넣는 것 처럼 보여도 실제로 뽑아보면 hash 코드 값 순으로 넣었기 때문에 무작위가 아닌 것이다 여기서 hashCode가 무조건 맞는 것이 아닌게 Returns an iterator over the elements in this set. The elements are retu.. 2019. 11. 26. 자바 void return 메소드 뜻부터 호출까지 자바에서 메소드는 두 가지의 데이터형을 갖는데 String, int, boolean 등 return을 사용하는 메소드와 void를 사용해 return이 없는 메소드로 나뉘어진다 위 예제를 보면 String 타입의 returnMethod와 void 타입의 voidMethod가 있는데 void 타입을 사용하지 않을 경우 반드시 return 값을 반환해야 한다 여기서 return 값이란? 메소드를 수행하면 String 타입으로 반환한다 했으니 (public String 메소드명..) 반드시 메소드에 String 타입의 값을 반환해야 한다 반면 void 타입은 아무것도 반환하지 않는다는 말이기 때문에 뭔가를 반환할 필요가 없다 다시 예제로 올라가 returnMethod를 호출할 경우에는 "call"을 넣어 re.. 2019. 11. 26. 자바 List 정렬, 역정렬 방법 및 예제 자바에서 List 정렬은 일단 ArrayList에서 할 것을 권장하는데 Java 7부터는 똑같았지만 8 이상부터는 ArrayList에 백업 배열을 직접 정렬해 백업본을 복사하는 코드가 추가되었기 때문에 ArrayList가 약간 더 빠르다 일단 정렬은 Collections.sort(리스트명) 으로 가능하며 역정렬은 Collection.sort(리스트명) 으로 먼저 정렬시킨 후 그 내용을 그대로 뒤집는 Collection.reverse(리스트명)을 사용해 역정렬시키거나 Collections.sort(리스트명, Collections.reverseOrder());로 역정렬시켜 가져오는 방법이 있다 사용한 코드는 아래와 같다 import java.util.ArrayList; import java.util.Coll.. 2019. 11. 25. 자바 List 정의부터 출력까지 List는 자바의 자료형 중 하나로 배열과 비슷하지만 결정적으로 다른 점은 1. 크기를 자유롭게 설정 가능 - 배열은 처음 크기를 설정하고 나서부터는 크기 설정이 불가능하지만 리스트는 삽입과 삭제로 원하는대로 크기를 변경할 수 있다 2. 배열은 직접 액세스(Direct access), 순차 액세스(Sequential Access) 모두 가능, List는 순차 액세스만 가능 직접 액세스(Direct Access)는 배열의 값으로 바로 접근하는 것을 말하고 순차 액세스는(Sequential Access)는 처음부터 시작해 배열의 특정 값까지 접근하는 것을 말한다 당연하게도 직접 액세스가 훨씬 더 빠르게 접근할 수 있기 때문에 배열 안에 값을 넣거나 가져올 때는 Array가 List보다 더 빠르다 그러나 엄청.. 2019. 11. 25. 자바 ArrayList, LinkedList 차이 예제로 알아보기 public static void main(String[] args) { ArrayList arrayList = new ArrayList(); LinkedList linkedList = new LinkedList(); // ArrayList add long startTime = System.nanoTime(); for (int i = 0; i < 100000; i++) { arrayList.add(i); } long endTime = System.nanoTime(); long duration = endTime - startTime; System.out.println("ArrayList add: " + duration); // LinkedList add startTime = System.nanoTime().. 2019. 11. 19. 자바 static 변수, 메소드 예제 및 사용이유 static 변수와 메소드를 알아보기 전에 static을 사용하지 않는 경우를 알아보자면 클래스 영역에 있는 변수와 메소드를 사용하기 위해 객체화를 하고 변수와 메소드를 사용하는 것이 보인다 이번에는 static 변수와 메소드를 사용한 경우인데 객체화를 하지 않고도 바로 변수와 메소드를 사용할 수 있는 것이 보인다 이 말은 static을 사용하면 바로 메모리에 할당되기 때문에 객체화를 하지 않고 바로 사용할 수 있다 포인트는 static을 통해 객체화를 하지 않아도 사용할 수 있기 때문에 계속 사용하거나 값을 공유하는 경우에 static을 사용해주면 메모리를 덜 소모하면서 사용할 수 있다는 것이다 예제에 사용한 코드는 아래와 같다 // static을 사용하지 않은 예제 public class NonSta.. 2019. 11. 18. 이전 1 ··· 153 154 155 156 157 158 159 ··· 173 다음 반응형