각진 세상에 둥근 춤을 추자

[Java] List 인터페이스 본문

Java

[Java] List 인터페이스

circle.j 2022. 9. 29. 11:13

 

List 인터페이스

 

List 인터페이스에는 객체를 순서에 따라 저장하고 유지하는 데 필요한 메서드가 선언되어 있다. 

순차 자료 구조의 대표적인 예는 배열이다.

 


(1) ArrayList 클래스

 

ArrayList를 활용한 MemberArrayList 클래스를 생성한다.

클래스에는 회원을 추가하는 addMember(), 회원을 삭제하는 removeMemeber(), 전체 회원을 출력하는 showAllMember() 메서드가 있다.

 

package collection.arraylist;

import java.util.ArrayList;
import collection.Member;

public class MemberArrayList {
	
	// ArrayList 선언
	private ArrayList<Member> arrayList;
	
	// Member형으로 선언한 ArrayList 생성
	public MemberArrayList() {
		arrayList = new ArrayList<Member>();
	}
	
	// ArrayList 회원을 추가하는 메서드
	public void addMember(Member member) {
		arrayList.add(member);
	}
	
	// 해당 아이디를 가진 회원을 ArrayList에서 찾아 제거
	public boolean removeMember(int memberId) {
		for (int i=0; i<arrayList.size(); i++) {
			Member member = arrayList.get(i);
			int tempId = member.getMemberId();
			if (tempId == memberId) {
				arrayList.remove(i);
				return true;
			}
		}
		System.out.println(memberId+"가 존재하지 않습니다.");
		return false;
	}
	
	// 전체 회원을 출력하는 메서드
	public void showAllMemeber() {
		for(Member member : arrayList) {
			System.out.println(member);
		}
		System.out.println();
	}
	
}

 

테스트 클래스인 MemberArrayList를 구현한다.

package collection.arraylist;

import collection.Member;

public class MemberArrayListTest {
	public static void main(String[] args) {
		
		MemberArrayList memberArrayList = new MemberArrayList();
		
		// 새로운 회원 인스턴스 생성
		Member memberLee = new Member(1001, "이지원");
		Member memberSon = new Member(1002, "손민국");
		Member memberPark = new Member(1003, "박서훤");
		Member memberHong = new Member(1004, "홍길동");
		
		// ArrayList에 회원 추가
		memberArrayList.addMember(memberLee);
		memberArrayList.addMember(memberSon);
		memberArrayList.addMember(memberPark);
		memberArrayList.addMember(memberHong);
		
		// 전체 회원 출력
		memberArrayList.showAllMemeber();
		
		// 홍길동 회원 삭제
		memberArrayList.removeMember(memberHong.getMemberId());
		
		// 홍길동 회원 삭제 후 전체 회원 출력
		memberArrayList.showAllMemeber();
		
	}
}

 

  

 

 

'Java' 카테고리의 다른 글

[Java] Socket을 이용한 Client/Server 채팅 프로그램  (0) 2022.10.03
[Java] LinkedList 클래스  (0) 2022.09.29
[Java] 컬렉션 프레임워크  (0) 2022.09.28
[Java] 제네릭(Generic)  (0) 2022.09.28
[Java] Class 클래스  (0) 2022.09.28