02_ArrayList, Vector

charl hi·2022년 6월 20일
0

자바의정석2

목록 보기
2/13

CF_03

예제

Ex11_1

링크텍스트


ArrayListEx2

import java.util.ArrayList;
import java.util.List;

public class ArrayListEx2 {

	public static void main(String[] args) {
//		긴 문자열 데이터를 원하는 길이로 잘라서  ArrayList에 담은 다음 출력하기
		
		final int LIMIT = 10;	//자르고자 하는 글자의 개수
		String source = "0123456789abcdefghijABCDEFGHIJ!@#$%^&*()ZZZ";
		int sourceLength = source.length();	//길이 43
		
//		크기를 약간 여유있게 잡기... 근데 왜 이렇게 잡지?
		List list = new ArrayList(sourceLength/LIMIT + 10);
		
		for(int i=0; i<sourceLength; i += LIMIT) {	//**증감식 주의!!
			if(i+LIMIT < sourceLength)
				list.add(source.substring(i, i+LIMIT));
			else
				list.add(source.substring(i));	//i == 40일 때 여기로
		}
		
		for(int i=0; i<list.size(); i++) {
			System.out.println(list.get(i));
		}
		
	}

}

->

0123456789
abcdefghij
ABCDEFGHIJ
!@#$%^&*()
ZZZ



Vector

import java.util.Vector;

public class VectorEx1 {

	public static void main(String[] args) {
		Vector v = new Vector(5);	//**용량capacity == 5
		v.add("1");
		v.add("2");
		v.add(3);
//		v.add("5");
		print(v);
		
		v.trimToSize();	//빈공간 없애기
		System.out.println("=== After trimToSize() ===");
		print(v);	// size() == capacity()
		
		v.ensureCapacity(6);
		System.out.println("=== After ensureCapacity(6) ===");
		print(v);
		
		v.setSize(7);	//capacity가 작을 경우, 자동적으로 기존capacity*2 
		System.out.println("=== After setSize(7) ===");
		print(v);
		
		v.clear();	//모든 요소 삭제 -> size만 0, capaticy는 그대로!
		System.out.println("=== After clear() ===");
		print(v);
		
		
		

	}
	
	public static void print(Vector vector) {
		System.out.println(vector);
		System.out.println("size() :: "+vector.size());
		System.out.println("capacity() :: "+vector.capacity());
		System.out.println();
	}

}

->

[1, 2, 3]
size() :: 3
capacity() :: 5

=== After trimToSize() ===
[1, 2, 3]
size() :: 3
capacity() :: 3

=== After ensureCapacity(6) ===
[1, 2, 3]
size() :: 3
capacity() :: 6

=== After setSize(7) ===
[1, 2, 3, null, null, null, null]
size() :: 7
capacity() :: 12

=== After clear() ===
[]
size() :: 0
capacity() :: 12

0개의 댓글