본문 바로가기

기초 문법 알아보기 Java

(9)
컬렉션 프레임웍 Collection Framework : HashSet HashSet이란- Set 인터페이스를 구현한 가장 대표적인 컬렉션- Set 인터페이스의 특징대로 HashSet은 중복된 요소를 저장하지 않는다.- 컬렉션 내의 중복 요소들을 쉽게 제거할 수 있다.- 저장순서를 유지하고자 한다면 LinkedHashSet을 사용해야한다. Object[] objArr = {"1",new Integer(1),"2","2","3","3","4","4","4"};Set set = new HashSet();for(int i=0; i-  '1'이 두 번 출력되었는데, 하나는 String 인스턴스이고 다른 하나는 Integer 인스턴스로 서로 다른 객체이므로 중복으로 간주하지 않는다. class HashSetEx{ public static void main(String[] args){..
컬렉션 프레임웍 Collection Framework : Arrays Arrays 클래스에는 배열을 다루는데 유용한 메서드가 정의되어 있다. 배열의 복사 : copyOf(), copyOfRange() int[] arr = {0,1,2,3,4}; int[] arr2 = Arrays.copyOf(arr,arr.length); // arr2=[0,1,2,3,4] int[] arr3 = Arrays.copyOf(arr,3); // arr3 = [0,1,2] int[] arr4 = Arrays.copyOf(arr,7); // arr4 = [0,1,2,3,4,0,0] int[] arr5 = Arrays.copyOfRange(arr,2,4); // arr5 = [2,3] int[] arr6 = Arrays.copyOfRange(arr,0,7); // arr6 = [0,1,2,3,4,0..
컬렉션 프레임웍 Collection Framework : Iterator, ListIterator, Enumeration Iterator, ListIterator, Enumeration은 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스이다. Enumeration은 Iterator의 구버젼이며, ListIterator은 Iterator의 기능을 향상 시킨 것이다. Iterator 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화하였다. 저장된 각 요소에 접근하는 기능을 가진 Iterator 인터페이스를 정의하고, Collection 인터페이스에는 Iteratro를 반환하는 iterator() 메서드를 정의하였다. public interface Iterator{ boolean hasNext(); // 읽어 올 요소가 남아있는지 확인한다. Object next(); // 다음 요소를 읽어 온다. void remove(); /..
컬렉션 프레임웍 Collection Framework : Stack, Queue 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 LIFO(Last In First Out) 구조이고,큐는 처음에 저장한 데이터를 가장 먼저 꺼내게 되는 FIFO(First In First Out)구조로 되어있다. 예를 들자면 스택은 동전통과 같은 구조로 양 옆과 바닥이 막혀 있어서 한 방향으로만 뺄 수 있는 구조이고, 큐는 양 옆만 막혀있고 위아래로 뚫려 있어서 한 방향으로 넣고 한 방향으로 빼는 구조로 되어 있다. 그렇다면 스택과 큐를 구현하기 위해서 어떤 컬랙션 클래스를 사용하는 것이 좋을까? 순차적으로 데이터를 추가하고 삭제하는 스택에는 ArrayList와 같은 배열기반의 컬렉션 클래스가 적합하지만, 큐는 데이터를 꺼낼 때 항상 첫 번째 저장된 데이터를 삭제하므로, ArrayList를 사용하..
컬렉션 프레임웍 Collection Framework : ArrayList, LinkedList ArrayList ArrayList는 List 인터페이스를 구현하기 때문에 데이터의 저장순서가 유지되고 중복을 허용한다는 특징을 갖는다. ArrayList는 Object배열을 이용해서 데이터를 순차적으로 저장한다. Object 배열을 이용하기 때문에 모든 종류의 객체를 담을 수 있다. 1) 데이터 추가 boolean add(E e) : 리스트의 끝에 데이터 e를 추가합니다. void add(int index, E element) : index의 위치에 데이터 element를 추가합니다. boolean addAll(Collection
컬렉션 프레임웍 Collection Framework : 핵심 인터페이스 컬렉션 프레임웍이란 데이터 군을 저장하는 클래스들을 표준화한 설계를 뜻한다. Collection은 다수의 데이터, Framework는 표준화된 프로그래밍 방식을 뜻한다. 컬렉션 프레임웍은 다수의 데이터를 다루는 데 필요한 다양하고 풍부한 클래스들을 제공한다. 핵심 인터페이스 1. List 인터페이스 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현하는데 사용된다. 2. Set 인터페이스 중복을 허용하지 않고 저장순서가 유지되지 않는 컬렉션 클래스를 구현하는데 사용된다. 3. Map 인터페이스 키(Key)와 값(Value)을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는 데 사용된다. 키는 중복될 수 없지만 값은 중복을 허용한다. 출처 : https://pridiot.tistory.com/63
예외처리 Exception handling : 예외의 발생과 catch블럭 class Exception{ public static void main(String[] args){ System.out.println(1); System.out.println(2); try{ System.out.println(3); System.out.println(0/0); // 0으로 나눠서 ArithmeticException을 발생시킨다 System.out.println(4); // 실행되지 않는다 } catch(ArithmethicException ae){ if(ae instanceof ArithmeticException) System.out.println("true"); System.out.println("ArithmeticException"); } catch(Exception e){ // A..
예외처리 Exception handling : 예외 클래스의 계층구조 예외 클래스의 계층구조 자바에서는 실행 시 발생할 수 있는 오류(Exception, Error)를 클래스로 정의하였다. 모든 예외의 최고 조상은 Exception클래스이다. RuntimeException 클래스들은 주로 프로그래머의 실수에 의해서 발생될 수 있는 예외들이다. 예를 들어 배열의 범위를 벗어난다던가(IndexOutOfBoundsException), 값이 null인 참조변수의 멤버를 호출하려고 했다던가(NullPointerException), 클래스간의 형변환을 잘못했다던가(ClassCastException), 정수를 0으로 나누려고(ArithmeticException)하는 경우에 발생한다. Exception 클래스들은 주로 외부의 영향으로 발생할 수 있는 것들이다. 사용자들의 동작에 의해서 ..