WEB JAVA SPRING/문법

Collection, Vector

sshhhh 2023. 8. 24. 16:46

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));
		}
			
		
		
	}

}

출력