일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Jenkins
- start.spring.io
- unboxing
- 콜렉션
- boxing
- wrapper
- https://start.spring.io
- suvlet
- 클래스
- Scanner
- 언박싱
- 컬렉션
- maven
- 내장객체
- dependency
- 자동형변환
- Java
- 메소드
- 빌드
- 루프
- 스프링
- 싱글톤
- 제너릭
- 무한
- 박싱
- bootstrap
- Short
- 싱글턴
- 제네릭
- 인텔리제이
- Today
- Total
목록컬렉션 (5)
Developer Gonie
* HashMap클래스란? Map 인터페이스를 구현하여 만들어진 클래스로, (key, value)의 페어가 1개의 원소이며 Map의 특징을 그대로 상속받아 key는 중복이 없고, value는 중복 데이터는 존재가 가능하다. 순서(index)는 없다는 점에서 Set과 비슷함. 중복되는 key가 존재할 수 없어, key값이 같은 pair를 넣으려고 하면 기존의 것을 덮어씌워버린다. * HashMap에서 자주 사용되는 메소드 HashMap hm = new HashMap(); hm.put(key객체, value객체);// key객체-value객체 페어 추가 hm.get(key객체);// key객체에 해당하는 value객체 반환 hm.containsKey(key객체)// key객체 존재여부 true/false 반..
* HashSet 클래스란? Set 인터페이스를 구현하여 만들어진 클래스로, 객체만을 저장 가능하며 Set의 특징을 그대로 상속받아 순서(index)가 없고, 중복 데이터의 입력이 불가능하다. ( ArrayList와 완전 반대) 중복 데이터의 입력이 불가능해 같은 값을 넣으려고 하면 에러는 안나지만 그 시도가 무시된다. 혹시라도 알고리즘 문제 해결 과정중에 중복되는 데이터를 제거하고 싶다면 이걸 사용하면 좋을거 같다. 과거에 예제를 해결하면서 중복없는 로또번호 6개를 만드는게 있었는데 이걸 활용하면 딱이다. * HashSet 에서 자주 사용되는 메소드 HashSet hs = new HashSet(); hs.add(객체);// 원소추가 hs.remove(객체);// 원소제거 hs.clear(객체);// 원..
* Vector 클래스란? ArrayList와 같이 List 인터페이스를 상속받아 완성시킨 클래스라서 순서(index)가 있고, 중복 데이터가 허용된다. * Vector에서 자주 사용되는 메소드 Vector v = new Vector(); v.size();// 길이 반환 v.add(객체);// 객체를 맨 뒤에 추가 v.get(index)// 해당 index에 위치한 객체를 반환 //확장 for문을 이용해 요소들을 출력하는 방법 for(타입 s : v) { System.out.println(s); } //Enumeration 타입을 이용해 모든 원소 출력하는 방법(ArrayList는 사용불가) Enumeration en = v.elements(); // 참조변수가 관리하는 모든 요소들을 가져와라 while..
* ArrayList 클래스란? List 인터페이스를 구현하여 만들어진 클래스로, 객체만을 저장 가능하며 List의 특징을 그대로 상속받아 순서(index)가 있고, 중복 데이터의 입력이 가능하다. * 원소들을 간편히 원하는대로 출력하고 싶은 경우 오버라이딩 해줘야 하는 메소드 ArrayList의 조상클래스로 추상클래스인 AbstractCollection이 있는데, 이 클래스가 Object로부터 상속받은 toString을 오버라이딩 해두었고 이 메소드를 ArrayList가 물려받았다. ArrayList의 toString() 메소드는 [요소1, 요소2 요소3, , , ] 형태를 만들어주며 이후에 각 요소의 toString() 메소드를 호출해 반환받은 값을 위 자리에 대치해준다. 따라서 뭔가 원하는 출력 포..
* 배열의 한계점 배열은 생성할 때 부터 크기가 고정되기 때문에 크기가 불분명한 다수의 객체를 저장하는데 문제가 있다. 또한, 배열은 중간의 객체를 삭제하게 되면 해당 인덱스 공간이 비어 이빨 빠진 옥수수가 될 수 있다. 이 때문에 새로운 객체를 저장하려면 어디가 비어있는지 확인하는 코드도 필요하다. * 컬렉션 프레임워크란? (http://www.tcpschool.com/java/java_collectionFramework_concept) 배열의 한계를 해결하고자 널리 알려져 있는 자료구조를 바탕으로 크기를 동적으로 변경해가며 객체들을 효율적으로 추가, 삭제, 검색하기 위해 표준화된 방법을 제공하는 클래스 집합을 의미한다. 그냥 '컬렉션'이라고 부르기도 하며 이 단어는 인터페이스와 이를 구현한 컬렉션 클..