관리 메뉴

nkdk의 세상

자바 Language 10일째 1번 본문

My Programing/JAVA

자바 Language 10일째 1번

nkdk 2008. 3. 8. 01:09
package Collection;
import java.util.*;

public class MapTest {
public static void main(String[] args) {
HashMap list=new HashMap(); // 아주 많이 쓰는 컬랙션이다.
list.put("0", "lee"); // 색인 방식이기 때문에 숫자를 안 써도 된다.
list.clear();
list.put("1", "cho");
list.put("2", "kim");
list.put("3", "park");
list.put("4", "han");
list.put("3", "jung"); // 3이라는 색인에 오버라이딩 되어 버린다.
System.out.println(list.size()+"\n");
print(list);
System.out.println();
System.out.println(list.containsKey("3")); // 값으로 있는지 없는지 확인 할 때 사용함
System.out.println(list.containsValue("cho")); // 값으로 있는지 없는지 확인 할 때 사용함
print(list);

}
public static void print(Map sets) { // Map 이라는 것을 사용 하였다.
Set set=sets.keySet(); // 키 값을 set으로 사용함.
Iterator iter=set.iterator();
while(iter.hasNext()) {
String str=(String)iter.next();
System.out.println(str + " "+sets.get(str)); // 값을 가져옴
}
}
}

---

package Collection;
import java.util.*;

public class Settest {
public static void main(String[] args) {
HashSet list=new HashSet(); // generic String이나 Object 를 써 줄수 있다.
list.add(12); // 자바 5에서는 오토 박싱이 되기 때문에 된다. 하지만 1.4에는 안된다.
list.add("lee");
list.clear();
list.add("cho");
list.add("kim");
list.add("park");
list.add("han");
list.add("park"); // 중복을 허용하지 않는다. 하나가 이미들어가 있기 때문에 오버 라이딩 되 버린다.
System.out.println(list.size());
System.out.println(list.contains("kim"));
list.remove("kim");
System.out.println(list.size());
System.out.println();
print(list.toArray()); // object[] 형 타입으로 넘긴다.

}
public static void print(Set set) {
Iterator iter=set.iterator();
while(iter.hasNext()) {
String str=(String)iter.next();
System.out.println(str);
}
}
public static void print(Object[] obj) {
for(int i=0;i<obj.length;i++) {
System.out.println(obj[i]);
}
}
}

---

package gen;
import java.util.*;
public class GenericTest1 {

public static void main(String[] args) {
Vector v=new Vector(5,5);
v.add(1);
v.add(4);
v.add(2);
v.add(8);
// v.add("7"); 이건 안됨
}

public static void print(Vector vi) {
int num=vi.size();
int sum=0;
for(int i=0;i<num;i++)
sum += vi.get(i); // 자동 언 박싱
System.out.println("합: "+sum);
}
}

---

package gen;
import java.util.*;

public class GenericTest2 {

public static void main(String[] args) {
Vector<Car> vc=new Vector<Car>();
vc.add(new Car());
vc.add(new Car());
vc.add(new Taxi()); // <- 상속 되었기 때문에 가능하다.
vc.add(new bus());
System.out.println(vc.elementAt(0));
System.out.println(vc.elementAt(3));
vc.elementAt(0).print();

Car c1=vc.get(0);
c1.print();

Car c2=vc.get(2); // 버스 객체를 car형에 치
c2.print();
// c2.move(); <- 안됨

Vector vb=new Vector();
vb.add(new bus());
vb.add(new bus());
// 이건 안된다. vb.add(new Taxi());
// vc=vb; 허용할 듯 보이지만 파라미터가 서로 다르기 때문에 허용하지 않는다.

System.out.println("-=------------------------");
Vector<? extends Car> vec = vb; // 이와 같이 확장을 하면 된다.
for(Car c:vec) {
c.print();
((bus)c).move();

}

}

}


---

package gen;

public class Car {
public void print() {
System.out.println("난 차야");
}

}

---

package gen;

public class bus extends Car{
public void print() {
System.out.println("난 차야");
}
public void move(){
System.out.println("승객은 7명");
}

}

---

package gen;

public class Taxi extends Car{
public void print() {
System.out.println("난 택시야");
}
public void move(){
System.out.println("승객은 3명");
}
}

...

1부 시간 끝났습니다. 오쯔까레~