: import를 필요로 한다.(java.lang 패키지를 제외하고는 모두 import를 통해 참조한다)
-> 특히 유틸 패키지는 활용도가 매우 높기 때문에 반드시 다 외우도록 한다★★★
1. Date
: 날짜를 다루는 클래스(거의 모든 프로그램에 날짜가 사용된다)
그러나 Date 클래스 코드는 권장되지 않는 비권장 코드다. 사용해도 틀린 것은 아니고, 많은 사람들이 사용하지만 날짜를 사용할 때는 Calendar 클래스를 권장한다.
2. Calendar
: 날짜를 사용할 때 권장되는 클래스다. setter와 getter를 사용해 날자를 가져온다.
3. String Tokenizer
: 문자열 분리 클래스
주로 배열과 반복문의 흐름으로 이어진다
ex.
"개구리,왕눈이,아로미,투투"
: 쉼표를 기준으로 해서 분리해라 -> 네 덩어리
*delims: 분리기호(쉼표를 기준으로 분리)
"JAVA=JSP;MS=ASP.NET;PHP=PHPScript"
delims -> = ; 두 개
두 개의 delims를 기준으로 문자열을 분리한다.
<예제>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.util.StringTokenizer;
public class ShowParse {
public static void main(String args[]) {
StringTokenizer st = new StringTokenizer("멍멍,왕왕,월월,웩웩,꽉꽉", ",");
System.out.println("문자열의 수: " + st.countTokens() + "개");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
//이 while문은 하나의 패턴이다
//토큰이 남아 있으면 반복문 실행
//각각의 요소를 하나씩 꺼내 출력한다.
}
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
4. Vector
: 데이터들의 저장과 이동을 위한 클래스
1)배열을 개선한 클래스
배열의 단점: 크기가 한번 정해지면 수정할 수 없다.(초기화 불가)
2)크기가 동적이다.
: 상황에 따라 크기를 늘리거나 줄일 수 있다. 요소를 넣으면 자동으로 크기가 늘어난다.
3)객체만 입력된다.
: 기본형은 요소에 들어갈 수 없다.
4)서로 다른 인스턴스를 저장 가능(Integer, String, Long 등등등 다양한 조합이 가능)
-> 이 모든 것을 받을 수 있는 것 = object
5)요소를 외부로 복사하면 casting(형변환)이 필요하다.
6)형변환이 하기 싫다면 generic을 사용한다.
Vector v = new Vertor(); ---> 기본생성자
Vector <T>v = new Vector<T>(); ---> 타입 지정(generic)
7)요소를 꺼내면(복사x 삭제 등 완전히 꺼낸 경우) 그 자리가 줄어든다.
-> length 줄어든다.
8)순서가 있다.
-> index
9)최근엔 vector(thread safe o)대신 arraylist(thread safe x, 자원을 덜 사용)를 권장하기도 한다.
<예제>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
public class SearchDelete {
public static void main(String args[]) {
String name[] = {"멍멍", "냐옹", "꿀꿀"};
Vector v = new Vector(); //정석
String s = "멍멍";
for(int i = 0; i < name.length; i++) {
v.addElement(name[i]); //vector에 요소 넣을 때 사용
}
if(v.contains(s)) { //vector에 요소가 포함되어 있으면 참
int i = v.indexOf(s);
System.out.println("인덱스 " + (i+1) + "번째에 있음");
} else System.out.println("해당 객체 없음");
v.removeElementAt(0); //첫 번째 element 지워라
for(int j = 0; j < v.size(); j++) {
s = (String)v.elementAt(j); //j번째 요소
//casting 반드시 필요
//앞의 데이터가 지워지면 하나씩 땡겨지면서 채워진다.
System.out.println(j + "번째 요소는: " + s);
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
5. Hashtable
: 비슷한 기능을 하는 클래스로 Hashmap이 있는데 차이점은 thread safe의 유무
Hashtable ---> thread safe o
Hashmap ---> thread safe x
1)객체를(만) 저장
: 기본형X
2)순서가 필요없다.
3)복사해서 꺼낼 경우 형변환이 필요하다.
4)형변환하지 않으려면 generic 사용
5)찾는 key가 없으면 null값을 반환한다.
-입력 메소드:
put(key, value);
-반환 메소드:
get(key)
*Hash
=빠르게 찾는
->Hash 알고리즘 사용
ex. 3이라는 숫자를 찾아라.
: 변수 % 3 중 나머지가 0, 1, 2 으로 나눈다. -> 나머지가 0인 그룹에서 3을 찾는다.
6. Properties
: 속성 문서 및 속성값을 저장할 때 주로 사용한다. 굉장히 많이 사용하는 클래스다.
1)Hashtable의 하위클래스로, Hashtable의 성격을 상속받았다.
2)key도 value도 String으로 고정되어 있다.
-> 형변환이 필요 없다.
'20.03 ~ 20.08 국비교육 > JAVA' 카테고리의 다른 글
package java.net. (0) | 2020.04.02 |
---|---|
package java.io. (0) | 2020.04.01 |
package java.lang. (0) | 2020.03.31 |
패키지, 패키지 간 참조 (0) | 2020.03.31 |
Synchronized (0) | 2020.03.31 |