Collection, VectorWEB JAVA SPRING/문법2023. 8. 24. 16:46
Table of Contents
Collection 클래스
정렬과 탐색 등 자료구조의 기능들을 구현한 메소드를 제공한다.
- 정렬 = sorting 특정 기준에 맞춰서 데이터들을 순서대로 나열하는 것. 기본적으로 오름차순 정렬을 제공한다.
- 섞기 =shuffling 원소들을 랜덤하게 만든다.
- 탐색 =searching 미리 정렬되어 있는 리스트 안에서 특정 원소를 찾는 것 기본적으로 binarysearch 방법을 사용한다. 반환값이 양수이면 탐색이 성공 음수면 실패이다.
- 자주 사용하는 기능으로는 min() 최소값을 찾는 경우 max() 최대값을 찾는 경우
- reverse() 리스트 안의 원소들의 순번을 반대로 바꿀 때 사용한다.
import java.util.*;
import java.util.Vector;
public class MB_Exam17_Generi {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList <Integer> list =new ArrayList<Integer>();
int i, j;
int k = 5; //리스트에서 찾고자 하는 원소
int x = 15;//리스트에 존재하지 않는 원소
int min , max;
System.out.print("Input 10 number of integer values :");
for(i=0;i<=9;i++) {
j=input.nextInt();
list.add(j);
}
System.out.println();
System.out.println();
System.out.println("Size ="+list.size());
for(i=0;i<=list.size()-1;i++) {
System.out.println("list["+i+"]="+list.get(i));
}
Collections.shuffle(list);
System.out.println();
System.out.println();
System.out.println("After shuffleing");
System.out.println("Size ="+list.size());
for(i=0;i<=list.size()-1;i++) {
System.out.println("list["+i+"]="+list.get(i));
}
Collections.sort(list); //오름차순 출력
System.out.println();
System.out.println();
System.out.println("After sorting in ascending order");
System.out.println("Size ="+list.size());
for(i=0;i<=list.size()-1;i++) {
System.out.println("list["+i+"]="+list.get(i));
}
j=Collections.binarySearch(list, k);
System.out.println();
System.out.println();
System.out.println("After searching k = 5");
if(j>=0) System.out.println("Index of"+k+"="+j);
if(j<0)System.out.println(k +"dose not exist in the list");
j=Collections.binarySearch(list, x);
System.out.println();
System.out.println();
System.out.println("After searching x=15");
if(j>=0) System.out.println("Index of"+k+"="+j);
if(j<0)System.out.println(x +"dose not exist in the list");
min =Collections.min(list);
System.out.println();
System.out.println();
System.out.println("Minium element in the list "+min);
max =Collections.max(list);
System.out.println();
System.out.println();
System.out.println("Maximum element in the list "+max);
Collections.reverse(list);
System.out.println();
System.out.println();
System.out.println("After reversing");
System.out.println("Size ="+list.size());
for(i=0;i<=list.size()-1;i++) {
System.out.println("list["+i+"]="+list.get(i));
}
}
}
Vector 클래스
컬렉션의 일종으로 가변 크기의 배열을 구현한다.
요소의 개수가 늘어나면 자동으로 배열의 크기가 늘어난다. 어떤 타입의 객체라도 섞어서 저장할 수 있다.
import java.util.Vector 추가해야 한다.
Vector에다 요소를 순서대로 추가하려면 add()메소드를 사용한다.
특정 위치에다 추가하려면 add(index,object) 사용한다.
값을 추출하려면 get()메소드를 사용한다. Size()는 요소들의 개수를 반환한다.
public class MyArray {
public static <T> void Swap (T[] x, int i,int j){
T temp;
temp =x[i];
x[i]=x[j];
x[j]=temp;
}
}
import java.util.*;
import java.util.Vector;
public class MB_Exam17_Generi {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Vector v =new Vector();
int i;
//자료형이 섞여도 된다.
v.add(10);
v.add(15.5);
v.add("Good Morning !!!");
System.out.println("Size of Vector v = "+v.size());
for(i=0;i<=v.size()-1;i++) {
System.out.println("Vector v["+i+"]="+v.get(i));
}
v.add(2,"Hello !");
System.out.println();
System.out.println();
System.out.println("Size of Vector v = "+v.size());
for(i=0;i<=v.size()-1;i++) {
System.out.println("Vector v["+i+"]="+v.get(i));
}
}
}
'WEB JAVA SPRING > 문법' 카테고리의 다른 글
상속/생성자/인터페이스 (0) | 2023.08.25 |
---|---|
객체/클래스/인스턴스 (0) | 2023.08.25 |
List, Map, Set (0) | 2023.08.24 |
제네릭스 (1) | 2023.08.24 |
접근제어자 (0) | 2023.08.24 |