목록전체 글 (572)
오봉이와 함께하는 개발 블로그
Algorithmday_3 정리 (2021.11.30 화요일) Map Map 인터페이스 키(Key)와 값(Value)의 쌍으로 이루어진 데이터의 집합 키와 값은 모두 객체 키는 중복될 수 없지만 값은 중복 가능 기존에 저장된 데이터와 중복된 키 값을 저장하면 기존의 값은 없어지고 마지막에 저장된 값이 남음(값을 덮어쓴다) 구현 클래스 : HashMap, HashTable, LinkedHashMap, Properties, TreeMap 일반적으로 Key의 타입은 String 많이 사용한다. HashMap을 생성 하려면 Key와 Value 모두 매개변수 작성을 해야 한다. Map map = new HashMap(); HashMap 예제 HashMapEx1.java public class HashMapEx1 ..
Algorithmday_3 정리 (2021.11.30 화요일) Set Set컬렉션 Set인터페이스 수학의 집합에 비유 저장 순서가 유지되지 않음 객체 중복 저장 불가 구현 클래스 : HashSet, LinkedHashSet, TreeSet 전체 객체를 대상으로 한 번씩 반복해 가져오는 반복자(Iterator) 제공 인덱스로 객체를 검색해서 가져오는 메소드 없음 get() 메소드 없음 Iterator java.util 패키지의 Iterator 인터페이스 컬렉션 프레임워크에서 컬렉션에 저장된 요소들을 읽어 오는 방법을 표준화한 것 요소가 순서대로 저장된 컬렉션에서 요소를 순차적으로 검색할 때 사용 Vector v = new Vector(); Iterator it = v.iterator(); 벡터 v의 요소를..
Algorithmday_3 정리 (2021.11.30 화요일) this 클래스 내에서 객체 자신을 가리키는 레퍼런스 컴파일러에 의해 자동 생성(사용자가 별도로 선언하지 않음) 용도 전달 받은 매개변수 값으로 멤버 변수의 값을 설정할 때 객체 자신의 레퍼런스 반환하는 경우 public class Board { String subject; // 멤버변수 String content; String writer; // 객체 생성 시 자동으로 생성자가 호출되면서 // 전달되는 값들을 매개변수가 받음 (String subject, String content, String writer) : 매개변수 전달되는 값을 받아서 메소드 내에서 지역 변수로 사용 메소드 내에서 this.를 사용하지 않으면 매개변수로 인식 (이름이..
Algorithmday_3 정리 (2021.11.30 화요일) Vector ArrayList와 동일한 내부 구조 스레드 동기화(Synchronization)되어 있기 때문에 여러 스레드가 동시에 접근하여 추가, 삭제 하더라도 스레드에 안전. Vector 실습 예제 VectorEx.java public class VectorEx { public static void main(String[] args) { List list = new Vector(); list.add(new Board("제목1","내용1","글쓴이1")); list.add(new Board("제목2","내용2","글쓴이2")); list.add(new Board("제목3","내용3","글쓴이3")); list.add(new Board("제목..
Algorithmday_3 정리 (2021.11.30 화요일) LinkedList List 구현 클래스이므로 ArrayList와 사용 방법은 동일 내부 구조 다름 ArrayList : 배열로 만들어져 있어서 인덱스 사용 LinkedList : 인접 참조를 링크해서 체인처럼 관리 (이전/다음 객체의 주소 갖고 있음) 특정 인덱스에서 객체를 제거하거나 추가하게 되면 바로 앞뒤 링크만 변경 빈번한 객체 삭제와 삽입이 일어나는 곳에서는 ArrayList보다 성능 좋음 순차적으로 추가/삭제 시 ArrayList가 LinkedList 보다 빠름 ArrayList가 용량이 충분하면 더 빠르지만 충분하지 않으면 새로운 크기의 ArrayList를 생성하고 데이터를 복사는 일이 발생해서 순차적으로 데이터를 추가해도 Arr..