nextInt() 메소드의 매개변수를 주면, 매개변수보다 작은 값이 출력됨
List,Set,Map 인터페이스로 구성된다. List와 Set은 Collection 인터페이스의 하위 인터페이스
인터페이스 | 특징 | 주요 클래스 |
---|---|---|
List | 데이터의 순서(index) 존재, 중복 저장 가능 | ArrayList,LinkedList,Stack,Vector |
Set | 데이터의 순서(index) 존재하지 않음, 중복 저장 불가 | HashSet,TreeSet |
Map | 키(key)와 값(value)으로 저장, 키는 중복 불가 | HashMap,Hashtable,TreeMap,Properties |
배열 | List 객체 |
---|---|
길이 고정 | 길이 변경 가능 |
타입 미리 지정 | 다양한 타입 |
대괄호를 통한 인덱스 접근 | 메소드를 사용한 인덱스 접근 |
메소드명 | 설명 |
---|---|
add(object) | 요소 추가 |
isEmpty(object) | 해당 객체가 존재하는지 여부 |
remove(object) | 해당 객체 제거 |
모든 컬렉션 프레임워크의 데이터를 접근할 수 있도록 정형화된 인터페이스
Iterator iter = set.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
Collection 인터페이스의 하위 객체가 아니다
메소드명 | 설명 |
---|---|
put(key,value) | key,value로 값 추가 |
get(key) | 해당 key로 값 리턴 |
keySet() | 모든 key를 set 객체로 리턴 |
List list
대신 List<타입> list
처럼 명시한다(1) 형변환 코드 불필요
(2) 컴파일 시 강한 타입 체크, 에러를 줄일 수 있다
public class Test<T> {
T value;
void set(T value){
this.value = value;
}
T get(){
return value;
}
}
Outer.Inner i = new Outer.Inner() //static 내부 클래스는 직접 접근하여 호출 가능
Outer o = new Outer();
//인스턴스 내부 클래스는 외부 클래스 객체를 통해 접근 후 생성자를 통해 내부 클래스 생성
Outer.Inner2 i2 = o.new Inner2();
어디서든 사용 가능
메소드 내에서만 사용 가능
이름이 없는 익명 함수, 자바 1.8이상부터 사용 가능
(매개변수...) -> {
}
추상 메소드가 하나만 존재하는 인터페이스
실행 중인 프로그램
프로세스 내에서 독립적으로 실행되는 프로그램
(1) Thread 클래스 상속
extends Thread
(2) Runnable 인터페이스 구현; 보통 이 방식을 많이 사용한다
Runnable은 추상 메서드가 한 개만 존재하기 때문에 run() 메소드를 재정의 해줘야 한다
implements Runnable