Java / List

조익준·2023년 5월 9일
0

Java

목록 보기
2/4

ArrayList

List 인터페이스를 구현한 클래스로 저장순서가 유지되고 중복을 허용한다.

또한 데이터의 저장공간으로 배열을 사용한다.

package test.main;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;

import test.mypac.Member;

public class MainClass05 {

	public static void main(String[] args) {
		//1. Member객체를 담을 수 있는 ArrayList객체를 생성해서 참조값을 members라는 지역변수에 담아보세요.
		ArrayList<Member> members = new ArrayList<>();
		//2. 3명의 회원정보를 Member객체에 각각 담아보세요. (Member 객체가 3개 생성되어야함)
		members.add(new Member(1, "김구라", "노량진"));
		members.add(new Member(2, "해골", "행신동"));
		members.add(new Member(3, "원숭이", "동물원"));
		Member mem = new Member();
		mem.num = 4;
		mem.name = "주뎅이";
		mem.addr = "동물원";
		//3. 위에서 생성된 Member객체의 참조값을 members List객체에 모두 담아보세요.
		List<Member> members2 = members;
		/*
		 *  4. members List객체에 담긴 내용을 이용해서 회원 목록을 아래와 같은 형식으로
		 *  반복문 돌면서 출력해보세요.
		 *  
		 *  번호: 1, 이름: 김구라, 주소: 노량진```
		 *  번호: 2, 이름: 해골, 주소: 행신동
		 */
		for(int i=0; i<members2.size(); i++) {
			System.out.println("번호:" + members2.get(i).num + " 이름:" + members2.get(i).name + " 주소:" + members2.get(i).addr);
		}
		
		Consumer<Member> c = new Consumer<>() {
			
			@Override
			public void accept(Member t) {
				System.out.println("번호:" + t.num + " 이름:" + t.name + " 주소:" + t.addr);
			}
		};
		members2.forEach(c);
	}

}

LinkedList

각 요소가 이전 요소와 다음 요소에 대한 참조를 가지는 노드로 구성된 연결 리스트를 구현하는 클래스다.
배열과 다르게 인덱스로 직접 접근하는 것은 불가능하나 첫 번째 요소부터 시작해 순차적으로 접근한다.
따라서 요소의 삽입, 삭제, 이동등이 빠르게 이루어진다.

import java.util.LinkedList;

public class Example {
  public static void main(String[] args) {
    // LinkedList 생성
    LinkedList<String> list = new LinkedList<String>();
    
    // 요소 추가
    list.add("apple");
    list.add("banana");
    list.add("orange");
    
    // 요소 접근
    System.out.println(list.get(0)); // 출력: apple
    
    // 요소 삭제
    list.remove(1); // banana 삭제
    
    // 요소 검색
    System.out.println(list.indexOf("orange")); // 출력: 1
    
    // 크기 확인
    System.out.println(list.size()); // 출력: 2
  }
}
profile
비가역적인사람

0개의 댓글

관련 채용 정보