JAVA
-
Java로 만든 스케줄 관리 프로그램JAVA 2022. 8. 23. 16:49
Java로 cmd에서 1회용으로 사용하는 프로그램 import java.util.*; import java.text.*; class HelloWorld { public static void main(String[] args) { HashMap map1 = new HashMap(); HashMap map2 = new HashMap(); int i = 0; System.out.printf("Please fill out the schedule.\n\n"); Scanner s = new Scanner(System.in); while(true){ System.out.printf("Q: Exit || L: Look || W: write || R: remove || T: EndList ==> "); String in..
-
Collections & Collection class 정리JAVA 2022. 8. 23. 11:59
Collections는 Collection을 위한 static 메서드를 제공하는 것을 말합니다. 컬렉션 채우기, 복사, 정렬, 검색 : fill(), copy(), sort(), binarySearch() Collection의 동기화 - synchronizedXXX() static Collection synchronizedCollection(Collection c) static List synchonizedList(List list) static Set synchonizedSet(Set s) static Map synchronizedMap(Map m) static SortedSet synchronizedSortedSet(SortedSet s) static SortedMap synchronizedSorte..
-
[JAVA] Generics 정의 및 타입변수, 다형성JAVA 2022. 8. 23. 11:43
Generics란 무엇인가? 컴파일 시 타입을 체크해주는 기능을 말하며 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄일 수 있다. 실행시 에러가 발생하는 것을 컴파일 에러로 만들어 준다. JDK 1.5 이후 Generics를 꼭 사용해주는 것이 좋다. ArrayList tvList = new ArrayList(); tvList.add(new Tv()); // ok tvList.add(new Audio()); // Error! Tv 타입의 객체만 저장할 수 있는 ArrayList타입의 참조변수 tvList가 만들어졌다. 예제 ArrayList list = new ArrayList(); list.add(10); list.add(20); list.add("30"); Integer i = (Integer)..
-
Java 객체지향 공부 다형성, interface, 상속, 포함 등JAVA 2022. 8. 22. 19:09
Java에서 가장 중요한 개념인 객체지향에 대해 공부한 자료입니다. 객체지향 개념 코드의 재사용성을 높이고 코드의 관리를 수월하게 하며 신뢰성이 높은 프로그램의 개발을 가능하게 만들어준다. 클래스와 객체의 정의 클래스란 객체를 정의해 놓은 것을 말한다. 객체란 실제로 존재하는 개념이다. 객체는 인스턴스를 포함하는 일반적인 의미이다. 인스턴스화란 클래스로부터 인스턴스를 생성하는 것을 말한다. 객체의 구성 요소 객체에는 속성(변수)과 기능(메서드)으로 이루어져 있다. 객체에 있는 속성과 기능을 객체의 멤버라고 부른다. 인스턴스 생성과 사용 인스턴스를 생성하는 방법은 일반적으로 "클래스명 참조 변수명 = new 클래스명()"이다. Tv t; // 객체를 다루기 위한 참조변수를 선언 Tv t = new Tv()..
-
[JAVA] Map 관련 내용JAVA 2022. 8. 19. 15:42
HashMap과 Hashtable은 Map 인터페이스를 구현한 대표 클래스이고 데이터를 키와 값 쌍으로 저장한다. HashMap(신버전)은 동기화 x, Hashtable(구버전)은 동기화 o Map은 데이터의 순서가 없으며, 키의 중복은 허용하지 않고 값의 중복은 허용한다. HashMap 순서가 없는 Map에서 순서를 유지하려면 LinkedHashMap 클래스를 사용하면 된다. 해싱(hashing) 기법으로 데이터를 저장(put)하며 데이터가 많아도 검색 속도가 빠르다. hashing이란? 해시 함수를 이용해서 해시 테이블에 데이터를 저장하고 읽어온다. 해시 테이블은 배열(접근성)과 LinkedList(변경 유리)가 조합된 상태이다. 더보기 TreeMap 범위 검색과 정렬에 유리한 컬렉션 클래스이며 Ha..
-
[JAVA] TreeSetJAVA 2022. 8. 19. 10:48
TreeSet은 이진 탐색 트리(binary search tree)로 구현되어있으며, 범위 탐색과 정렬에 유리합니다. 이진 트리의 경우 한개의 노드가 최대 2개의 하위 노드를 갖게 됩니다. TreeSet의 기본형태 및 특징 부모를 기준으로 작은 값은 왼쪽에 큰 값은 오른쪽에 저장된다. 데이터가 많아 질수록 비교 횟수가 증가하기 때문에 추가, 삭제에 효율성이 떨어진다. class TreeNode{ TreeNode left; // 왼쪽 자식 노드 Object element; // 저장할 객체 TreeNode right; // 오른쪽 자식 노드 } 데이터의 저장 boolean add(Object o) equals()와 hashCode()를 자동으로 호출한다. Set은 중복을 허용하지 않는다. TreeSet의 ..
-
[JAVA] HashSetJAVA 2022. 8. 18. 12:10
HashSet은 Set인터페이스를 구현한 대표 클래스이며 순서를 유지하지 않는 데이터의 집합이고 데이터의 중복을 허용하지 않는다. 순서를 유지하고 싶다면 LinkedHashSet을 사용하면 된다. HashSet의 주요 Method 생성자 HashSet() : 기본 생성자 HashSet(Collection c) : Collection(c)을 저장하는 생성자 HashSet(int initialCapacity) : 초기 용량(initialCapacity) 설정 생성자 용량이 모자라면 내부적으로 초기 용량의 x2만큼 늘린다. HashSet(int initialCapacity, float loadFactor) : 용량을 x2 하는 시점(loadFactor)을 지정해준다. 예: loadFactor가 0.8일 경우 ..
-
[JAVA] Iterator Method 관련 내용JAVA 2022. 8. 18. 09:30
컬렉션에 저장된 데이터를 접근하는 데 사용되는 인터페이스를 의미합니다. ListIterator(양방향)은 Iterator(단방향)의 접근성을 향상한 것이다. Iterator Method boolean hasNext() : 읽어 올 요소가 남아 있는지 확인 ( 있다면 true, 없다면 false) Object next() : 다음 요소를 읽어온다. hasNext()로 요소가 있는지 확인하고 next()를 사용하는 게 안정적이다. void remove() : 요소를 삭제한다. next() 호출 후 remove()를 호출해야 한다. void forEachRemaining(Consumer