1. ๋ป
๋ฐฐ์ด, ์ปฌ๋ ์ ํ๋ ์ ์ํฌ๋ฑ์ ์ํํ ๋, ์ง๊ธ ์์น๊ฐ ์ด๋์ง ์๋ ค์ฃผ๋ '์ฑ ๊ฐํผ ๊ฐ์ ์กด์ฌ'
Iterator๋ฅผ ์ํ๋ ์์น๋ก ์ด๋ ์์ผ์ ์ํ๋ ์์ (์กฐํ, ์ถ๊ฐ, ์ญ์ )์ ์ํจ๋ค.
(1)Iterator์ ์ด๊ธฐ ์์น
(2) ๋ฐ๋ณต์ ์ ์ ๋ Tip
๋ฐ๋ณต์ ์ ์ธ๋ฌธ์ ์ค๋ฅธ์ชฝ ํธ๋ง ๋ค ์ ์ด๋๊ณ , iterator(); ์ ctrl + alt + V ๋๋ฅด๋ฉด ์ผ์ชฝ์ด ์๋ ์์ฑ๋จ.
Mudo.entrySet().iterator();
//ctrl + alt + v
Iterator<Map.Entry<String, Integer>> itEn3 = Mudo.entrySet().iterator();
2. ์ฝ๋๋ฆฌ๋ทฐ
package Chap_09;
import java.util.*;
public class _08_Iterator {
public static void main(String[] args) {
//iterator
//๋ฐ๋ณต์ ์ธ ๋ฆฌ์คํธ ์ ์ธ
List<String> list = new ArrayList<>();
// ๋๋ฏธ ๊ฐ์ด ๋ฆฌ์คํธ์ ๋ง์ด ์ถ๊ฐ๋ ์ํฉ ๊ฐ์
list.add("์ ์ฌ์");
list.add("(์ ์ ์์)");
list.add("๊น์ข
๊ตญ");
list.add("(์ ์ ์์)");
list.add("๊ฐํธ๋");
list.add("(์ ์ ์์)");
list.add("๋ฐ๋ช
์");
list.add("(์ ์ ์์)");
list.add("์กฐ์ธํธ");
for (String s :
list) {
System.out.println(s);
}
System.out.println("-------------------------");
//๋ฐ๋ณต์ ์ ์ธ: Iterator<์๋ฃํ> ๋ฐ๋ณต์_์ด๋ฆ = ์๋ฃ๊ตฌ์กฐ.iterator();
//it = list.iterator();์ ๋ง์ฐ์ค ์ฎ๊ธฐ๊ณ Ctrl + alt + v ํ๋ฉด ์๋์ผ๋ก ์์ฑ
Iterator<String> it = list.iterator();
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());
System.out.println("-------------------------");
//์ปค์๋ฅผ ์ฒ์ ์์น๋ก ์ด๋
it = list.iterator();
//๋ฐ๋ณต์ ์ํ -> it.hasNext(); => ๋ฐ๋ณต์๊ฐ ๋์ด๊ฐ ๋ค์ ๊ฐ์ด ์๋์ง boolean ๋ฐํ
while(it.hasNext()) {
System.out.println(it.next());
}
System.out.println("-------------------------");
// it.next() => ํ์ฌ ์ปค์ ์์น ๊ธฐ์ค ๋ค์ ์์๋ฅผ ๊ฐ์ ธ์จ๋ค.
// s.contains() method => () ๊ฐ์ด String ๊ฐ ์์ ์๋์ง ํ์ธํ์ฌ boolean ๋ฐํ
// s.contains()๋ ๋์๋ฌธ์ ๊ตฌ๋ถํ๊ณ , ๊ณต๋ฐฑ๋ ๊ตฌ๋ถํด์ ๋ค๋ฅธ ๊ฐ์ด๋ผ ์ธ์ง ํจ.
// ex) " my"๋ "my"๋ ๋ค์ ๊ฐ์ผ๋ก ์ธ์ง
it = list.iterator();
while(it.hasNext()){
String s = it.next();
if(s.contains("(์ ์ ์์)")){
//์ปค์๊ฐ ์๋ ์์น์ list ๊ฐ์ ์ ๊ฑฐ
it.remove();
}
}
it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
System.out.println("-------------------------");
HashSet<String> set = new HashSet<>();
set.add("์ ์ฌ์");
set.add("๋ฐ๋ช
์");
Iterator<String> itSet = set.iterator();
while(itSet.hasNext()){
System.out.println(itSet.next());
}
System.out.println("-------------------------");
HashMap<String, Integer> map = new HashMap<>();
map.put("์ ์ฌ์", 10);
map.put("๋ฐ๋ช
์", 5);
// map.iterator();๋ ํ๋ฆฐ ํํ.
// why? -> map์ Key์ Value ์ค ์ด๋ค ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฐ๋ณต์๊ฐ ์ํํ๋์ง ๋ชจํธํ๊ธฐ ๋๋ฌธ
//Key๋ฅผ ๊ธฐ์ค์ผ๋ก Iterator ์ํ
Iterator<String> itMapKey = map.keySet().iterator();
while (itMapKey.hasNext()){
System.out.println(itMapKey.next());
}
System.out.println("-------------------------");
// Value๋ฅผ ๊ธฐ์ค์ผ๋ก Iterator ์ํ
Iterator<Integer> itMapValue = map.values().iterator();
while (itMapValue.hasNext()){
System.out.println(itMapValue.next());
}
System.out.println("-------------------------");
// <K,V> ํ ์์ ๊ธฐ์ค์ผ๋ก Iterator ์ํ
Iterator<Map.Entry<String, Integer>> itMap = map.entrySet().iterator();
while (itMap.hasNext()){
System.out.println(itMap.next());
}
}
}
*๋ง์ง๋ง HashMap ํ ์ ๊ธฐ์ค ์ํ์ ๊ฒฐ๊ณผ ๊ฐ
3. ์ค์ค๋ก ํด๋ณด๊ธฐ
import java.util.*;
public class Iterator_Myself {
public static void main(String[] args) {
// ArrayList ์ ๊ดํด์ iterator ์ํ
// ๋ฆฌ์คํธ ์ ์ธ
ArrayList<String> Entry = new ArrayList<>();
Entry.add("์ด๋์");
Entry.add("์ด Unknown");
Entry.add("์ก์น์ค");
Entry.add("์ก Unknown");
Entry.add("์ค์ค์");
Entry.add("์ค Unknown");
Entry.add("์ดํ๊ตฌ");
Entry.add("์ด Unknown");
Entry.add("์ด๋ํธ");
Entry.add("์ด Unknown");
Entry.add("์ฌ์์ฐฝ");
Entry.add("์ฌ Unknown");
Entry.add("์ ํฌ๊ด");
Entry.add("์ Unknown");
//๋ฆฌ์คํธ ์ํ
for (String s :
Entry) {
System.out.println(s);
}
System.out.println("--------------------------------");
//๋ฐ๋ณต์ ์ ์ธ
Iterator<String> itArray = Entry.iterator();
//๋ฐ๋ณต์๋ฅผ ์ด์ฉํด ์ํ
while (itArray.hasNext()){
System.out.println(itArray.next());
}
System.out.println("-------------------------------");
//๋ฐ๋ณต์ ์ด๊ธฐ ์์น๋ก ์์๋ณต๊ท
itArray = Entry.iterator();
System.out.println(itArray.next());
System.out.println("-------------------------------");
//๋ฐ๋ณต์๋ฅผ ์ด์ฉํด "(์ ์ ์์)" ์ด๋ ๋ง์ด ๋ค์ด๊ฐ ์์๋ค ์ง์ฐ๊ธฐ -> ์ง์ฐ๊ณ ๋ ๋ค ์ ์ฒด ์ํ
while (itArray.hasNext()){
String temp = itArray.next();
if(temp.contains("Unknown")){
itArray.remove();
}
}
for (String s :
Entry) {
System.out.println(s);
}
System.out.println("-------------------------------");
// HashSet ์ ๊ดํด์ iterator ์ํ
// HashSet ์ ์ธ
HashSet<String> Entry2 = new HashSet<>();
Entry2.add("์ํฅ๋ฏผ");
Entry2.add("์ด๊ฐ์ธ");
Entry2.add("๊น๋ฏผ์ฌ");
Entry2.add("ํฉํฌ์ฐฌ");
Entry2.add("์ด์ฌ์ฑ");
Entry2.add("์คํ๊ท");
Entry2.add("์ ์ฐ์");
// ๋ฐ๋ณต์ ์ ์ธ
Iterator<String> itEn2 = Entry2.iterator();
// ๋ฐ๋ณต์๋ก ์ํ
while (itEn2.hasNext()){
System.out.println(itEn2.next());
}
System.out.println("-------------------------------");
// HashMap ์ ๊ดํด์ iterator ์ํ
// HashMap ์ ์ธ
HashMap<String, Integer> Mudo = new HashMap<>();
Mudo.put("์ ์ฌ์",1);
Mudo.put("๋ฐ๋ช
์",2);
Mudo.put("์ ์คํ",3);
Mudo.put("๋
ธํ์ฒ ",4);
Mudo.put("ํํ",5);
Mudo.put("์ ํ๋",6);
Mudo.put("๊ธธ",7);
// Key ๋ฅผ ๊ธฐ์ค์ผ๋ก Iterator ๋ง๋ค์ด์ ์ํ
Iterator<String> KeyIt = Mudo.keySet().iterator();
while (KeyIt.hasNext()){
System.out.println(KeyIt.next());
}
System.out.println("-------------------------------");
// Value ๋ฅผ ๊ธฐ์ค์ผ๋ก Iterator ๋ง๋ค์ด์ ์ํ
Iterator<Integer> ValueIt = Mudo.values().iterator();
while (ValueIt.hasNext()){
System.out.println(ValueIt.next());
}
System.out.println("-------------------------------");
// <K,V> ํ ์์ ๊ธฐ์ค์ผ๋ก Iterator ๋ง๋ค์ด์ ์ํ
Iterator<Map.Entry<String, Integer>> itEn3 = Mudo.entrySet().iterator();
while (itEn3.hasNext()){
System.out.println(itEn3.next());
}
}
}
0