1. HashMap
Set-String 객체
인덱스로 검색하는 기능이 없기 때문에 Iterator 사용해야한다.
Set <String> st = ....;
Iterator<String> it = set.iterator();
*Iterator : 컬렉션에 저장되어 있는 요소를 읽는 방법.
boolean형 hasnext() : 가져올 객체가 있으면 true를 리턴한다.
next() : 컬렉션에서 하나의 객체를 가져온다. -> 새로운 변수에 담아주면 좋다.
void형 remove()도 사용가능함.
**참고
hashCode()와 equals() 메소드 재정의해서 동등 객체가 될 조건 정해야함.
hashCode()의 리턴값이 같아야하고 equals가 true를 리턴.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package finalExamPractice;
import java.util.*;
public class HashMap01 {
public static void main(String[] args) {
HashMap <String, Integer> h = new HashMap<String, Integer>();
h.put("지렁이", 421);//이런 식으로 요소 추가할 수 있다.파이썬 할 때랑 제법 비슷함.
h.put("이도겸", 218);
int size = h.size(); //사이즈 구하기 가능. 지금은 2일 것이다.
Set <String> Keys = h.keySet(); //키를 설정한다. 말그대로.
Iterator <String> it = Keys.iterator();
while(it.hasNext()){//만약 다음이 있다면 = 반복해서 키를 얻고 값을 Map에서 얻어낸다.
String name = it.next(); //next() : 컬렉션에서 하나의 객체를 가져온다.
Integer birth = h.get(name); //이름이라는 키값으로 정보를 가져온다.
if (birth != null) System.out.println(name + ": " + birth);
else if (name.equals("나가기")) break;
else System.out.println("등록되지 않은 정보입니다.");
}
}
}
|
cs |
*Iterator는 값을 컬렉션 요소를 사용하는 좋은 방법이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
package finalExamPractice;
import java.util.*;
public class VectorIterator {
public static void main(String[] args) {
Vector<Integer> v = new Vector <Integer>();
v.add(234);
v.add(567);
Iterator <Integer> it = v.iterator();
int sum = 0;
while(it.hasNext()) {
sum += it.next(); //234+567 = 801
}
System.out.println(sum);
}
}
|
cs |
2. List
얘도 뭐 ArrayList와 매우 유사함.
get(인덱스) 메소드 사용해서 요소를 사용하고
length()와 같은 메소드를 통해서 길이를, size()를 통해서 개수를 구할 수 있다.
문자열에 공백이 있어도 상관읎다. 공백도 문자로 치고 카운팅한다. 저슷트킵고잉
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package finalExamPractice;
import java.util.*;
public class List01 {
public static void main(String[] args) {
List <String> list = new ArrayList<String>();
list.add("데이식스");
list.add("누군가 필요해");
list.add("콩츄");
list.add("좋아합니다");
list.add("행복했던 날들이었다");
list.add("한페될");
int longestVal = 0;
for(int i = 0; i<list.size(); i++) {
if(list.get(longestVal).length() < list.get(i).length())
longestVal = i;
}
System.out.println(list.get(longestVal));
}
}
|
cs |
3.StringTokenzier
문자열 자를 때 유용하게 쓴다. 구분자 자유롭게 설정할 수 있듬
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package finalExamPractice;
import java.util.StringTokenizer;
public class Token01 {
public static void main(String[] args) {
StringTokenizer str = new StringTokenizer("지금 , 나는 , 세븐틴의, 뷰티풀을, 듣고있는데 , 공부너무하기싫다" , ",");
int count = str.countTokens(); //말 그대로 토큰의 개수를 셈.
System.out.println("파싱 문자열 총 갯수 : " + count);
while(str.hasMoreElements()) {
System.out.println(str.nextToken());
}
}
}
|
cs |
'Language > JAVA' 카테고리의 다른 글
파스칼의 삼각형 (0) | 2022.01.04 |
---|---|
Game project (0) | 2022.01.04 |
베타테스트 문제 (0) | 2021.12.10 |
Multi Thread Examples (0) | 2021.11.24 |
Interface (0) | 2021.11.04 |