목록SelfStudy/JAVA (23)
YJ의 새벽
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cghS5C/btrXPwO1NVN/0L8Qk1KKxWuN7TFBHzxHr1/img.png)
--Set : 순서X , 중복X HashSet --Set 인터페이스 대표적인 컬렉션 클래스 --순서를 유지하려면 LinkedHashSet 클래스 사용하면 된다. EX))) HashSet Example import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class HashSetExample1 { public static void main(String[] args) { Set set = new HashSet(); set.add("java"); set.add("JDBC"); set.add("Servlet/JSP"); set.add("java"); set.add("iBATIS"); System.out.println(s..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zYt0z/btrXPslvGAQ/sssip0l7AEiC3osrJCNpT0/img.png)
--객체 정렬에 필요한 메서드를 정의한 인터페이스 Comparable : 기본 정렬기준을 구현하는데 사용 Comparator : 기본 정렬기준 외에 다른기준으로 정렬하고자할때 사용 compare() 와 compareTo() 는 두 객체의 비교결과를 반환하도록 작성, 같으면 0 오른쪽이 크면 음수(-) , 작으면 양수 (+) Comparable Example import java.util.Iterator; import java.util.TreeSet; class Person implements Comparable { public String name; public int age; public Person(String name, int age) { this.name=name; this.age=age; } @..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KEzoE/btrXRVtA5ig/00QIopjTIc8bdk6AO5OiGk/img.png)
Iterator --컬렉션에 저장된 데이터를 접근(읽는데) 사용되는 인터페이스 (Iterator , ListIterator , Enumeration) --Iterator 는 List,Set 똑같이 동작하도록 되어있으므로 편하다. --Map 에는 iterator() 가 없다 . --Iterator 의 구버전이 Enumeration . --ListIterator 은 Iterator의 접근성을 향상시킨것. (양방향접근) hasnext() : 읽어올 요소가 남아있는지 확인, 있으면 true 없으면 false next() : 다음 요소를 읽어옴. next() 사용전 hasnext()로 확인하자. EX ))) Iterator --Iterator은 1회용이라 한번쓰면 다시 얻어와야한다. import java.util..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/w6uKi/btrXSxyBkjE/BGtBmk33pYLY5AePAtY7kk/img.png)
Stack (항아리구조) --ex)수식계산, 웹브라우저 뒤로/앞으로 등등 --LIFO (Last in First Out) --마지막에 저장된 것을 제일 먼저 꺼낸다. -- 1 2 3 4 5 를 넣으면 (push) 5 4 3 2 1 로 나온다. (pop) --배열이 적합. Queue (인터페이스, 객체생성x) (파이프구조) --ex) 최근사용문서 , 인쇄작업대기목록 등... --FIFO (First In First Out) --제일먼저 저장한것을 제일먼저 꺼낸다. -- 1 2 3 4 5 넣으면 (offer) 1 2 3 4 5 로 나온다 (poll) *파이브구조 --링크드리스트 적합. ***** Stack & Queue 예제 import java.util.LinkedList; import java.util...
--List 인터페이스를 구현하므로, 저장순서 O , 중복허용 O --값이 삭제되거나 추가되면 값들이 앞뒤로 밀린다. **장점 --배열은 구조가 간단하고, 데이터를 읽는데 걸리는시간이 짧다. **단점 --배열의 길이를 적절히 조절해야함. --크기를 변경하기위해 새로운 배열을 생성후 복사해야함. (메모리가 낭비) --중간에 데이터의 삽입/삭제에 시간이 많이 걸린다. 삽입/삭제 를 위해 다른 데이터를 옮겨야함. --그러나, 순차적인 데이터 삽입/삭제는 빠르다. ArrayList EX))) ArrayList 연습 . import java.util.ArrayList; import java.util.Collections; public class Main { public static void main(String[..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dCoXM9/btrXHWOjvj9/GJzLmjgABM2p41drCdtUP0/img.png)
컬렉션 프레임웍(collections framework) -- 컬렉션 (collection) 여러 객체(데이터)를 모아놓은것. -- 프레임웍 (framework) 표준화,정형화된 체계적인 프로그래밍 방식 -- 컬렉션 프레임웍 다수의 객체를 다루기 위한 표준화된 프로그래밍 방식 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스 제공 -- (저장, 삭제, 검색 ,정렬) --컬렉션 클래스 다수의 데이터를 저장할수있는 클래스 (ex. Vector ,ArrayList, HashSet) --핵심 인터페이스 List Set Map List -- 순서 O ex) ArrayList, LinkedList , Statck , Vector ... 중복 O 대기자명단... Set -- 순서 X ex) HashSet , Tre..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FjYUW/btrXIj1IKDw/GpPHABUIK8ActngqVCCJt1/img.png)
객체지향언어란? 객체를 만들고 객체를 사용하는 프로그래밍 방법. 즉, 프로그램을 단순히 데이터와 처리방법으로 나누는게 아니고 , 다수의 객체를 만들어 객체간의 상호작용으로 로직을 구성 ( 캡슐화 , 상속 , 다형성 , 추상화 ) JAVA 접근제어자 외부 객체의 무분별한 접근으로부터 보호 (데이터 무결성) . --public : 모든 패키지, 모든 클래스 접근 허용 --protected : 같은 패키지 , 모든 클래스 접근 허용 --default : 같은 패키지 내 클래스만 접근 허용 (기본으로 default가 깔려있음) --private : 같은 클래스 내 접근 허용 인터페이스와 추상클래스(abstract) 인터페이스 : 추상적인 개념만 존재. -- (추상메소드의 집합 ) (모든멤버가 public) --..