전체 글 297

Java 28

제네릭(지네릭, Generics)컴파일 시 타입을 체크해주는 기능(compile-time type)//Tv객체만 저장할 수 있는 ArrayList를 생성 ArrayList tvList = new ArrayList(); tvList.add(new Tv());// tvList.add(new Audio()); //컴파일 에러. Tv 외 다른 타입 불가 package chapter12;import java.util.ArrayList;public class Study01Test1 { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(10); list.add(20); list.add("30..

organize/자바 2024.05.16

Java 27

HashMap순서가 없고, 키는 중복이 안되고 값은 중복이 가능Map 인터페이스를 구현. 데이터를 키와 값의 쌍으로 저장HashMap(동기화X), Hashtable(동기화O)의 새로운 버전HashMapMap인터페이스를 구현한 대표적인 컬렉션 클래스순서를 유지하려면, LinkedHashMap클래스를 사용하면 됨TreeMap≒TreeSet범위 검색과 정렬에 유리한 컬렉션 클래스HashMap보다 데이터 추가, 삭제에 시간이 더 걸림(비교 저장)HashMap의 키(key)와 값(value)해싱(hashing)기법으로 데이터를 저장. 데이터가 많아도 검색이 빠름Map인터페이스를 구현. 데이터를 키와 값의 쌍으로 저장키(key) 컬렉션 내의 키(key) 중에서 유일(ex, id)값(value) 키(key)와 달리 ..

organize/자바 2024.05.14

Java 26

TreeSet범위 탐색, 정렬이진 탐색 트리(binary search tree)로 구현. 범위 탐색(from ~ to)과 정렬에 유리이진 트리는 모든 노드가 최대 2개의 하위 노드를 갖음각 요소(node)가 나무(tree)형태로 연결 class TreeNode{ TreeNode left; //왼쪽 자식노드 Object element; //저장할 객체 TreeNode right; //오른쪽 자식노드 } 이진탐색트리(binary search tree)부모보다 작은 값은 왼쪽, 큰 값은 오른쪽에 저장데이터가 많아질수록 추가, 삭제에 시간이 더 걸림(비교 횟수 증가)TreeSet 데이터 저장과정 boolean add(Object o)HashSet은 equals() hashCode()로 비..

organize/자바 2024.05.13

Java 25

HashSet순서X, 중복X Set↑HashSet, SortedSet ← TreeSet HashSetSet인터페이스를 구현한 대표적인 컬렉션 클래스순서를 유지하려면, LinkedHashSet클래스를 사용하면 됨HashSet()HashSet(Collection c) 생성자HashSet(int initialCapacity) 초기용량HashSet(int initialCapacity, float loadFactor) float loadFactor언제 초기 용량을 늘릴것인지boolean add(Object o) boolean addAll(Collection c) 합집합boolean remove(Object o)boolean removeAll(Collection c) 교집합boolean retainAll(Colle..

organize/자바 2024.05.11

Java 24

Iterator, ListIterator, Enumeration컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스(읽어오기)Enumeration은 Iterator의 구버전(≒ Iterator)ListIterator는 Iterator의 접근성을 향상시킨 것(단방향에서 양방향으로)메서드설명boolean hasNext()읽어올 요소가 남아있는지 확인. 있으면 true, 없으면 false 반환(확인)Object next()다음 요소를 읽어옴. next()를 호출하기 전에 hasNext()를 호출해서 읽어 올 요소가 있는지 확인하는 것이 안전(읽기)void remove()next()로 읽어온 요소를 삭제. next()를 호출한 다음에 remove()를 호출해야함(선택적 기능)void forEachRemaini..

organize/자바 2024.05.09

Java 23

배열의 장단점장점 : 배열은 구조가 간단하고 데이터를 읽는 데 걸리는 시간(접근 시간, access time)이 짧음단점 : 1. 크기를 변경할 수 없음(실행중)-크기를 변경해야 하는 경우 새로운 배열을 생성 후 데이터를 복사※ 더 큰 배열을 생성 -> 기존 배열을 새로 만든 배열에 복사 -> 참조 변경-크기 변경을 피하기 위해 충분히 큰 배열을 생성하면, 메모리가 낭비2. 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸림-데이터 추가, 삭제를 위해 다른 데이터를 옮겨야함-순차적인 데이터 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠름LinkedList 배열의 단점 (크기 변경X, 추가, 삭제 시간 ↑) 을 보완 LinkedList 장점배열과 달리 LinkedList는 불연속적으로 존재하는 데이터를 연결..

organize/자바 2024.05.08

Java 22

컬렉션 프레임워크컬렉션(collection) : 여러 객체(데이터)를 모아 놓은 것프레임워크(framework) : 표준화, 정형화된 체계적인 프로그래밍 방식컬렉션 프레임워크(collection framework)컬렉션(다수의 객체)을 다루기(저장, 삭제, 검색, 정렬 등) 위한 표준화된 프로그래밍 방식컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공java.util패키지에 포함※객체 => 다수의 데이터컬렉션 클래스(collection class)다수의 데이터를 저장할 수 있는 클래스(ex Vector, ArrayList,HashSet) 컬렉션 프레임워크의 핵심 인터페이스List순서가 있는 데이터의 집합. 데이터의 중복을 허용. ArrayList, LinkedList, Stack, Vector ..

organize/자바 2024.05.07

Java 21

※필드 읽기 get(), 필드 변경 set, 필드 초기화 clear()add()특정 필드의 값을 증가 또는 감소(일, 월로 하여금 월, 년이 변경됨) Calendar dateAdd = Calendar.getInstance(); dateAdd.clear(); //모든 필드 초기화 dateAdd.set(2024, 4, 6); //2024년 5월 6일로 설정 dateAdd.add(Calendar.DATE,1); //날짜(DATE)에 1을 더함 dateAdd.add(Calendar.MONTH, -4); //월(MONTH)에서 4을 뺌roll()특정 필드의 값을 증가 또는 감소(일, 월로 하여금 월, 년이 변경되지 않음) //roll() 특정 필드의 값을 증가 또는 감소(일로 하여금 월이 변경되지 ..

organize/자바 2024.05.06
728x90