예제 7-1 : 정수만 다루는 Vector<Integer> 컬렉션 활용
문제: 정수만 다루는 Vector<Integer> 제네릭 벡터를 생성하고 활용하는 사례를 보인다. 다음 코드에 대한 결과는 무엇인가?
package chap07;
import java.util.Vector;
//정수만다루는 Vector<Integer> 제네릭 벡터를 생성하고 활용하는 사례를 보인다 . 다음 코드에 대한 결과는 무엇인가
public class VectorEx{
public static void main(String[] args) {
Vector<Integer> v=new Vector<Integer>();
v.add(5);
v.add(-3);
v.add(-1);
for(int i=0;i<v.size();i++) {
System.out.print(v.get(i));
}
System.out.println();
//벡터 속 모든 정수 더하기
int sum=0;
for(int i=0;i<v.size();i++) {
sum+=v.get(i);
}
System.out.println(sum);
}
}
//출력결과
벡터 내의 요소 객체 수 : 4
벡터의 현재 용량 : 10
5
4
100
-1
벡터에 있는 정수 합 : 108
예제 7-2 : Point클래스의 객체들만 저장하는 벡터 만들기
문제: 점(x,y)를 표현하는 Point 클래스의 객체만 다루는 벡터의 활용을 보여라.
package chap07;
import java.util.Vector;
//점(x,y)를 표현하는 point클래스의 객체만 다루는 벡터의 활용을 보여라.
class Point{
private int x,y;
public Point(int x,int y) {
this.x=x;
this.y=y;
}
public String toString() {
return ("("+x+","+y+")");
}
}
public class PointVectorEx {
public static void main(String[] args) {
Vector<Point> v=new Vector<Point>();
v.add(new Point(3,5));
v.add(new Point(2,20));
for(int i=0;i<v.size();i++) {
Point p=v.get(i);
System.out.println(p);
}
}
}
(2,3)
(30,-8)
예제 7-3 : 문자열만 다루는 ArrayList<String> 활용
문제: 이름을 4 개 입력받아 ArrayList 에 저장하고 , ArrayList에 저장된 이름을 모두 출력한 후 제일 긴 이름을 출력하라.
package chap07;
import java.util.ArrayList;
import java.util.Scanner;
//이름을 4개 입력받아 ArrayList에 저장하고, ArrayList에 저장된 이름을 모두 출력한 후, 제일 긴 이름을 출력하라.
public class ArrayListEx {
public static void main(String[] args) {
ArrayList<String> array=new ArrayList<String>();
Scanner sc=new Scanner(System.in);
for(int i=0;i<4;i++) {
System.out.println("이름을 입력하세요: ");
String name=sc.nextLine();
array.add(name);
}
int max=0;
String[] longnames=new String[3];
String longname="";
for(int i=0;i<array.size();i++) {
//길이 비교
//길이가 같을 때는?
if(array.get(i).length()>max) {
longname=array.get(i);
max=array.get(i).length();
}else if(array.get(i).length()==max){
longnames[i]=array.get(i);
}
}
System.out.println("가장 길이가 긴: "+ longnames);
}
}
이름을 입력하세요>>Mike
이름을 입력하세요>>Jane
이름을 입력하세요>>Ashley
이름을 입력하세요>>Helen
Mike Jane Ashley Helen
가장 긴 이름은 : Ashley
예제 7-4 : Iterator<Integer>를 이용하여 정수 벡터 검색
문제: 예제 7-1의 코드 중에서 벡터 검색 부분을 Iterator<Integer>를 이용하여 수정하라.
package chap07;
import java.util.Iterator;
import java.util.Vector;
//예제 7-1의 코드 중에서 벡터 검색 부분을 Iterator<Integer>를 이용하여 수정하라.
public class IteratorEx {
public static void main(String[] args) {
Vector<Integer> v=new Vector<Integer>();
v.add(5);
v.add(4);
v.add(-1);
v.add(2,100);
Iterator<Integer> it=v.iterator();
while(it.hasNext()) {
int n=it.next();
System.out.println(n);
}
//Iterator를 이용하여 모든 정수 더하기
int sum=0;
it=v.iterator();
while(it.hasNext()) {
int n=it.next();
sum+=n;
}
System.out.println("벡터에 있는 정수의 합: "+ sum);
}
}
5
4
100
-1
벡터에 있는 정수 합 : 108
예제 7-5 : HashMap<String,String>로 (영어, 한글)단어 쌍을 저장하고 검색하기
문제:영어 단어와 한글 단어의 쌍을 HashMap에 저장하고 , 영어 단어로 한글 단어를 검색하는 프로그램을 작성하라.
package chap07;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
public class HashMapDicEx {
public static void main(String[] args) {
//영어 단어와 한글 단어의 쌍을 저장하는 HashMap 컬렉션 생성, 영어단어로 한글 단어를 검색하는 프로그램 작성
HashMap<String,String> dictionary=new HashMap<String,String>();
dictionary.put("baby", "아기");
dictionary.put("love", "사랑");
dictionary.put("noteBook", "노트북");
Set<String> keys=dictionary.keySet();//해시맵에 있는 모든 키를 담은 Set<K>컬렉션 리턴
Iterator<String> it=keys.iterator();
while(it.hasNext()) {
String key=it.next();
String value=dictionary.get(key);
System.out.println("("+key+","+value+")");
}
System.out.println();
//영어 단어를 입력받고 한글 단어 검색
Scanner sc=new Scanner(System.in);
for(int i=0;i<3;i++) {
System.out.println("찾고 싶은 단어는?");
String eng=sc.nextLine();
String kor=dictionary.get(eng);
}
}
}
//출력결과
(love,사랑)(apple,사과)(baby,아기)
찾고 싶은 단어는?apple
사과
찾고 싶은 단어는?babo
babo는 없는 단어 입니다
찾고 싶은 단어는?love
사랑
예제 7-6 : 제네릭 스택 만들기
문제: 스택을 제네릭 클래스로 작성하고, String과 Integer형 스택을 사용하는 예를 보여라.
package chap07;
class GStack<T>{
int tos;
Object[] stck;//스택 개체
public GStack() {
tos=0;
stck=new Object[10];
}
public void push(T item) {
if(tos==10) {
return;
}stck[tos]=item;
tos++;
}
public T pop() {
if(tos==0) {
return null;
}
tos--;
return (T)stck[tos];
}
}
public class MyStack {
public static void main(String[] args) {
// TODO Auto-generated method stub
GStack<String> stringStack=new GStack<String>();
stringStack.push("seoul");
stringStack.push("busan");
stringStack.push("LA");
for(int n=0; n<3;n++) {
System.out.println(stringStack.pop());
}
GStack<Integer> intStack=new GStack<Integer>();
intStack.push(1);
intStack.push(3);
intStack.push(5);
for(int n=0;n<3;n++) {
System.out.println(intStack.pop());
}
}
}
//출력결과
LA
busan
seoul
5
3
1
'Language > JAVA' 카테고리의 다른 글
[JAVA] 명품 자바 에센셜 예제 8장 (0) | 2021.12.28 |
---|---|
[JAVA] 명품 자바 에센셜 예제 6장 (0) | 2021.12.26 |
[JAVA] 명품 자바 에센셜 예제 5장 (0) | 2021.12.20 |
[JAVA] 명품 자바 에센셜 예제 4장 (0) | 2021.12.18 |
[JAVA] 명품 자바 에센셜 예제 3장 (0) | 2021.12.17 |