JAVA
Test162.java / 컬렉션 프레임워크(Collection Framework) / 벡터 - Vector
universedevelope
2022. 10. 29. 00:26
/* ========================================================================
■■■ 컬렉션 프레임워크(Collection Framework) ■■■
=========================================================================*/
// Vector
import java.util.Vector;
import java.util.Collections;
public class Test162
{
private static final String[] colors
= {"검정", "노랑", "초록", "파랑", "빨강", "연두"};
public static void main(String[] args)
{
Vector<String> v = new Vector<String>();
for (String color : colors)
{
v.add(color);
}
System.out.println("첫 번째 요소 : " + v.firstElement());
System.out.println("두 번째 요소 : " + v.get(1));
System.out.println("마지막 요소 : " + v.lastElement());
System.out.println("요소의 갯수 : " + v.size());
/*
첫 번째 요소 : 검정
두 번째 요소 : 노랑
마지막 요소 : 연두
요소의 갯수 : 6
계속하려면 아무 키나 누르십시오 . . .
*/
// 첫번째 요소를 하양으로 변경 : set() → 덮어쓰기, 요소의 갯수 변화 X
v.set(0, "하양");
System.out.println("첫 번째 요소 : " + v.firstElement());
// 첫 번째 요소 : 하양
System.out.println("두 번째 요소 : " + v.get(1));
// 두 번째 요소 : 노랑
System.out.println("요소의 갯수 : " + v.size());
// 요소의 갯수 : 6
// 첫 번째 요소에 "주황" 추가 : insertElementAt()
v.insertElementAt("주황", 0);
System.out.print("전체 출력 : ");
for (String str : v )
System.out.print(str + " ");
System.out.println();
// 전체 출력 : 하양 노랑 초록 파랑 빨강 연두
// 전체 출력 : 주황 하양 노랑 초록 파랑 빨강 연두
// 오름차순 절령
Collections.sort(v);
// ○ 오름차순 정렬 후 전체 출력(가나다 : 사전식 배열 순 정렬)
System.out.print("오름차순 정렬 후 전체 출력 : ");
for (String str : v )
System.out.print(str + " ");
System.out.println();
// 오름차순 정렬 후 전체 출력 : 노랑 빨강 연두 초록 파랑 하양
// 오름차순 정렬 후 전체 출력 : 노랑 빨강 연두 주황 초록 파랑 하양
// ○ 검색
// Collections.binarySearch();
// 검색 기능 수행
// 단, 오름차순 정렬이 수행되어 있는 자료에 대해서만 사용이 가능하다.
// 검색 결과가 존재하지 않을경우 음수를 반환한다.
int idxBlue = Collections.binarySearch(v, "파랑");
System.out.printf("파랑 : %d 번째 인덱스에 위치한다 \n", idxBlue);
System.out.println();
// 파랑 : 4 번째 인덱스에 위치한다
// 파랑 : 5 번째 인덱스에 위치한다
int idxNavi = Collections.binarySearch(v, "남색");
System.out.printf("남색 : %d 번째 인덱스에 위치한다 \n", idxNavi);
// 남색 : -1 번째 인덱스에 위치한다
// └> 검색결과 없음
System.out.println(); // 개행
// ○ 내림차순 정렬 → 오름차순정렬 메소드 매개변수에, reverseOrder()
// Order : Sequence 자료구조에 쓰임
Collections.sort(v, Collections.reverseOrder());
System.out.print("내림차순 정렬 후 전체 출력 : ");
for (String str : v)
{
System.out.print(str + " ");
}
System.out.println();
// 내림차순 정렬 후 전체 출력 : 하양 파랑 초록 주황 연두 빨강 노랑
// ※ 내림차순 정렬 후 검색 테스트
idxBlue = Collections.binarySearch(v, "파랑");
System.out.printf("파랑 : %d번째 인덱스에 위치하는데?", idxBlue);
System.out.println();
// 파랑 : -8번째 인덱스에 위치하는데?
// └> 검색 결과 없음
idxBlue = Collections.binarySearch(v, "파랑", Collections.reverseOrder());
System.out.printf("파랑 : %d번째 인덱스에 위치하고 있다. \n", idxBlue);
System.out.println();
// 파랑 : 1번째 인덱스에 위치하고 있다.
}
}
/*
첫 번째 요소 : 검정
두 번째 요소 : 노랑
마지막 요소 : 연두
요소의 갯수 : 6
첫 번째 요소 : 하양
두 번째 요소 : 노랑
요소의 갯수 : 6
전체 출력 : 주황 하양 노랑 초록 파랑 빨강 연두
오름차순 정렬 후 전체 출력 : 노랑 빨강 연두 주황 초록 파랑 하양
파랑 : 5 번째 인덱스에 위치한다
남색 : -1 번째 인덱스에 위치한다
내림차순 정렬 후 전체 출력 : 하양 파랑 초록 주황 연두 빨강 노랑
파랑 : -8번째 인덱스에 위치하는데?
파랑 : 1번째 인덱스에 위치하고 있다.
계속하려면 아무 키나 누르십시오 . . .
*/
728x90