코드 그라데이션

Day27-3. 자료구조와 컬렉션 (1) List 본문

Java/Mega

Day27-3. 자료구조와 컬렉션 (1) List

완벽한 장면 2023. 4. 23. 22:30

리스트의 주요 명령어

명령어 기능
Add(객체) 추가 (추가 => 끼워넣기!!)
Add(index, 객체) index에 추가
addAll(index, Collection) index 지정위치에 Collection 추가 (리스트를 통으로 끼워넣는 것. 나머지 다 밀)
get(index) index 위치의 객체를 주는 것
indexOf(객체) index 위치를 반환
lastIndexOf(객체) 그 객체의 가장 마지막 index를 반환
remove(index) index 위치의 객체를 삭제
set(index, 객체) index 위치의 객체 교체(위치를 바꿔치기!)
size() 리스트의 길이
subList(from, to) from ~ to 까지의 객체를 List로 반환

 

 

리스트 예제 1

public class ListTest1 {

  public static void main(String[] args) {

    String[] name = {"kim", "lee", "park", "jung", "oh"};
    ArrayList<String> lname = new ArrayList<String>(Arrays.asList(name));
    // 이 순간 lname에 이 name 배열이 들어간다.
    System.out.println("초기 값 : " + lname);

    lname.add("ha"); // oh 뒤에 붙는다
    System.out.println("\"ha\" 가 추가된 후의 값 : " + lname );

    lname.set(0, "김"); // 한글로 김으로 바뀜
    lname.set(3, "곽"); // jung이 곽으로 바뀜
    System.out.println("\"ha\" 로 변경되고 \"곽\" 이 추가된 값  : " + lname);

    Collections.shuffle(lname); // 돌면서 섞여버림.
    System.out.println("shuffle() 메소드가 적용된 값 : " + lname);

    Collections.sort(lname); // 오름차순 자동 정렬됨.
    System.out.println("sort() 메소드가 적용된 값 : " + lname);
    System.out.println("5번째 요소의 값 : " + lname.get(4));

    Collections.fill(lname, "김"); // 전부 김으로 바뀌어버림.
    System.out.println("모든 요소를 \"김\" 으로 설정된 값 : " + lname );
  }

}

출력 결과

초기 값 : [kim, lee, park, jung, oh]
"ha" 추가된 후의 값 : [kim, lee, park, jung, oh, ha]
"김"으로 변경되고 "곽"이 추가된 값 : [김, lee, park, 곽, oh, ha]
shuffle() 메소드가 적용된 값 : [park, 김, oh, lee, ha, 곽]
sort() 메소드가 적용된 값 : [ha, lee, oh, park, 곽, 김]
5번째 요소의 값 : 곽
모든 요소를 "김"으로 설정된 값 : [김, 김, 김, 김, 김, 김]

 

리스트 예제 2

class A{
	int a;
	int b;
	
	A(int a, int b){
		this.a = a;
		this.b = b;
	}
	
	void print() {
		System.out.println("a:"+a+",b :"+b);
	}
}


public class ListTest2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ArrayList<A> list = new ArrayList<>();
		
		for(int i = 0;i<10;i++) {
			list.add(new A(i,i+1));
		}
		
		for(int i =0;i<list.size();i++) {
			list.get(i).print();
		}
		
		for(int i = 0;i<list.size();i++) {
			if(list.get(i).b == 4) {
				System.out.println(i);
			}
		}
	}

}

출력 결과

a:0,b :1
a:1,b :2
a:2,b :3
a:3,b :4
a:4,b :5
a:5,b :6
a:6,b :7
a:7,b :8
a:8,b :9
a:9,b :10
3
728x90

'Java > Mega' 카테고리의 다른 글

Day28-29. 파일 입출력  (0) 2023.04.24
Day27-4. 자료구조와 컬렉션 (2) Stack  (0) 2023.04.23
Day27-2. 자료구조 도입  (0) 2023.04.23
Day27-1. 제네릭  (0) 2023.04.23
Day25. 추상화 (3) final, equals()  (0) 2023.04.17
Comments