본문 바로가기

자바/컬렉션

Vector, ArrayList class

예제1)


//이런식으로는 안짠다고 함. 보여주려고짬

import java.util.Iterator;

import java.util.Vector;


public class Test4 {

public static void main(String[] args) {

/*

*  List : 순서가 있다. 배열하고 유사한 구조

*   대표적인 구현 클래스 : Vector, ArrayList

*   Vector : 동기화 지원

*   ArrayList : 동기화 지원하지 않음(속도 빠름)

*/

// StringBuffer : 동기화 지원

// StringBuilder : 동기화 지원하지 않음(속도 빠름)

// 1.4 방식. 컴파일시 경고가 나옴.

Vector ob=new Vector();

// 벡터에 값 저장(

ob.add(new String("서울"));

ob.add(new String("부산"));

ob.add(new Integer("20"));

//벡터에 저장된 내용은 향상된 for, 이터레이터를 이용하여 처음부터 순회하면서 정보를 가져옴

Iterator it=ob.iterator();

while(it.hasNext()) {

//프로그램 실행중 런타임 오류 발생.

// 왜? String도 있고 Integer도 있으므로

// String s=(String)it.next();

// System.out.println(s);

Object oo=it.next();

if(oo instanceof String){

String s=(String)oo;

System.out.println(s);

}else if(oo  instanceof Integer) {

Integer i=(Integer)oo;

System.out.println(i);

}

}

}

}


결과)


서울

부산

20


=======================================================================================================================================


예제2)     ArrayList


import java.util.ArrayList;

import java.util.Collections;

import java.util.Iterator;


public class Test5 {

public static void main(String[] args) {

// ArrayList<String>에서 <String>은 제너릭으로 JDK 5.0부터 사용가능하며 저장할 자료형을 명시. => String만 저장한다는 명령인셈

ArrayList<String> oo=new ArrayList<String>();

// ArrayList<String> oo=new ArrayList<>(); // JDK 7.0부터 뒤에 생략가능

//Vector 또는 ArrayList에 데이터 추가

oo.add("서울");

oo.add("부산");

oo.add("대구");

oo.add("인천");

oo.add("광주");

oo.add("대전");

oo.add("울산");

oo.add("세종");

//Vector 또는 ArrayList 전체 출력 -1

for(String s:oo)

System.out.println(s+"  ");

System.out.println();

//Vector 또는 ArrayList 전체 출력 -2

Iterator<String>it=oo.iterator();

while(it.hasNext()){ // hsnext 다음의 데이타가 존재하면

String s=it.next();

System.out.println(s+"  ");

}

System.out.println();

//vector또는 ArrayList 전체 출력 -3

for(int i=0; i<oo.size(); i++){

String s=oo.get(i);

System.out.print(s+"   ");

}

System.out.println();

// 갯수 출력

System.out.println("개수 :"+oo.size());

// 처음 자료의 서울 -> seoul로 변경

oo.set(0, "seoul");

System.out.println(oo);

//0번째에 대한을 추가

oo.add(0,"대한");

System.out.println(oo);

//부산의 위치는

System.out.println("부산은 어디에 있나?"+ oo.indexOf("부산"));

//대구가 있나?

System.out.println(oo.contains("대구"));

//0번째 제거

oo.remove(0);

//세종제거

oo.remove("세종");

System.out.println(oo);

//오름차순 정렬

Collections.sort(oo);

System.out.println(oo);

//내림차순 정렬

Collections.sort(oo,Collections.reverseOrder());

System.out.println(oo);

}

}


예제2 결과)


서울  

부산  

대구  

인천  

광주  

대전  

울산  

세종  


서울  

부산  

대구  

인천  

광주  

대전  

울산  

세종  


서울   부산   대구   인천   광주   대전   울산   세종   

개수 :8

[seoul, 부산, 대구, 인천, 광주, 대전, 울산, 세종]

[대한, seoul, 부산, 대구, 인천, 광주, 대전, 울산, 세종]

부산은 어디에 있나?2

true

[seoul, 부산, 대구, 인천, 광주, 대전, 울산]

[seoul, 광주, 대구, 대전, 부산, 울산, 인천]

[인천, 울산, 부산, 대전, 대구, 광주, seoul]


=======================================================================================================================================

예제3)    Vector

import java.util.Vector;

public class Test6 {
public static void main(String[] args) {
Vector<String> v=new Vector<String>();
System.out.println("요소개수:"+v.size());
System.out.println("초기용량:"+v.capacity());
for(int i=65; i<=90; i++)
v.add(((char)i)+"");
System.out.println("용량:"+v.capacity());
// Vector 에 있는데 ArrayList에는 없는 메소드가 있다.
System.out.println("처음:"+v.get(0));
System.out.println("처음:"+v.firstElement());
System.out.println("마지막:"+v.lastElement());
System.out.println("전체개수:"+v.size());
// 다 지움
v.removeAllElements();
System.out.println("전체개수:"+v.size());
System.out.println("용량:"+v.capacity());
v.add("서울");
// 용량을 개수에 맞게
v.trimToSize();
System.out.println("전체개수:"+v.size());
System.out.println("용량:"+v.capacity());
}
}

예제3 결과)

요소개수:0
초기용량:10
용량:40
처음:A
처음:A
마지막:Z
전체개수:26
전체개수:0
용량:40
전체개수:1
용량:1

'자바 > 컬렉션' 카테고리의 다른 글

제너릭 (Box)  (0) 2013.05.24
Stack  (0) 2013.05.24
TreeSet  (0) 2013.05.24
map  (0) 2013.05.24
set  (0) 2013.05.24