Vector에 대하여 배웠는데 Vector란 Collection 프레임워크의 일부이며 java.util 패키지에 소속되어 있다.
ArrayList와 동일한 구조를 가지며 배열의 크기가 늘어나고, 줄어듬에 따라서 자동으로 크기가 조절이 된다.
객체 생성 방법
Vector v1 = new Vector();
1. 데이터를 추가할때는 2가지 방법이 있다.
1) 'add(추가할데이터)'를 사용하고 반환값은 성공(true), 실패(false)로 나온다.
ex) v1.add("aaaa");
v1.add(new Integer(111));
v1.add(1234); auto boxing
v1.add('a'); => Character
v1.add(true);
2) 'add(index, 데이터)' 는 'index'번째 '데이터'를 끼워 넣고 반환값이 없다.
ex) v1.add(1, "KKKK");
2. 데이터 수정하기
데이터 수정 : set(index, 새로운값)
배열변수[index] = 새로운값
반환값 : 변경되기 전의 데이터
ex) String temp = (String) v1.set(0, "zzzz"); Vector 에서 나오는 값은 Object로 나온다
3. 데이터 삭제하기
데이터 삭제 : remove(index) / 'index'번째 데이터를 삭제한다. 반환값은 삭제된 데이터 이다.
ex) v1.remove(0); => index 번호를 찾아서 삭제할 수 있고
ex) v1.remove("CCCCC"); => 삭제할 데이터를 찾아서 삭제 할 수 있다.
- 삭제할 데이터가 여러개이면 앞에서 부터 삭제하며 반환값은 삭제성공 : true, 삭제실패: false 이다.
* 전체 데이터를 삭제하고 싶으면 v1.clear(); 를 사용하면 된다.
벡터의 데이터를 순서대로 가져와 사용할때는 반복문을 사용하면 된다.(for문)
ex)
v1.add("AAAA");
v1.add("BBBB");
v1.add("CCCC");
v1.add("DDDD");
v1.add("EEEE");
for(int i = 0; i < v2.size(); i++) {
System.out.println(i + "번째 자료: " + v2.get(i));
}
System.out.println("-----------------------------------");
}
↓처럼 나온다.
제네릭타입 (Generic Type)
클래스 내부에서 사용할 데이터의 타입을 객체를 생성할때 외부에서 지정하는 기법
객체를 선언 할 때괄호(< >)안에 그 객체의 내부에서 사용할 데이터의 타입을 정해주는것을 말한다.
이런식으로 선언하게 되면 지정한 데이터타입 이외의 다른 데이터를 저장할 수 없다.
제네릭으로 선언될 수 있는 데이터타입은 클래스형이어야 한다.
그래서 int는 Integer, boolean은 Boolean, char는 Character 등으로 대체해서 사용해야 한다.
제네릭타입으로 선언하게 되면 데이터를 꺼내올 떄별도의 형변환이 필요없다.
ArrayList는 기본적으로 사용법이 Vector와 같다.
contains(비교데이터) => List에 '비교데이터'가 있으면 true, 없으면 false를 반환한다.
indexOf(비교데이터) => List에 '비교데이터'가 있으면 '비교데이터'가 있는 index값을 반환하고, 없으면 -1을 반환한다.
lastIndexOf(비교데이터) => indexOf()는 앞에서부터 검색하고 lastIndexOf()는 뒤에서부터 검색한다.
toArray() => List 안의 데이터를 배열로 변환해서 반환한다. => 기본적으로 Object형 배열로 변환한다.
toArray(new 제네릭타입[0]) => 제네릭 타입의 배열로 반환한다.
예시문제로 ArrayList에 이름을 입력받아 '김'씨성을 가진 사람의 이름을 출력해보았다.(Scanner 객체 사용)
Scanner sc = new Scanner(System.in);
ArrayList<String> list = new ArrayList();
System.out.println("5명의 이름을 입력하세요");
for(int i = 1; i <= 5; i++) {
System.out.println(i + "번째 사람 이름 : ");
String name =sc.nextLine();
list.add(name);
}
-- 반복문을 통하여 5명의 사람을 입력받고 list에 추가해준다.
System.out.println("김씨성...");
for(int i = 0; i < list.size(); i++) {
더 많은 방법이 있지만 4가지만 알아보았다.
if(list.get(i).indexOf("김") == 0) {
System.out.println(list.get(i)); }
if(list.get(i).substring(0, 1).equals("김") ) {
System.out.println(list.get(i)); }
if(list.get(i).charAt(0) == '김' ) {
System.out.println(list.get(i)); }
if(list.get(i).startsWith("김")) {
System.out.println(list.get(i)); }
}
고급자바_1222-1 (0) | 2022.12.22 |
---|---|
고급자바_1221-1 (0) | 2022.12.21 |
고급자바_1220-1 (0) | 2022.12.20 |
고급자바1219-2 (0) | 2022.12.19 |
고급자바 1219-1 (0) | 2022.12.19 |