Java/패스트캠퍼스

List 인터페이스 구현 클래스

hs_developer 2022. 6. 11. 01:11

멤버십 관리하기

-Member 클래스를 만들고, 아이디와 이름을 멤버 변수로 선언

 

-Member 클래스로 생성된 인스턴스들을 관리하는 클래스를 컬렉션 프레임워크 클래스들을 활용해 구현한다.

 

 

ArrayList 활용하기

 

-멤버를 순차적으로 관리 함

 

 

@Getter
@Setter
public class Member {

	// 멤버 변수 선언
	private int memberId;
	private String memberName;
	
	// 생성자 초기화
	public Member(int memberId, String memberName)
	{
		this.memberId = memberId;
		this.memberName = memberName;
	}
	
	
	@Override
	public String toString() { // toString 메서드 오버로딩

		return memberName + " 회원님의 아이디는 " + memberId + "입니다.";
	}
}
import java.util.ArrayList;

public class MemberArrayList {

	private ArrayList<Member> arrayList; // ArrayList 선언
	
	public MemberArrayList()
	{
		arrayList = new ArrayList<Member>(); // 멤버로 선언한 ArrayList 생성
	}
	
	public void addMember(Member m) // ArrayList에 멤버 추가
	{
		arrayList.add(m);
	}
	
	public boolean removeMember(int memberId) // 멤버 아이디를 매개변수로, 삭제 여부를 반환
	{
		for(int i=0; i<arrayList.size(); i++) // 해당 아이디를 가진 멤버를 ArrayList에서 찾음
		{
			Member m = arrayList.get(i);
			
			int tempId = m.getMemberId();
			if(tempId == memberId) // 멤버 아이디가 매개변수와 일치하면
			{
				arrayList.remove(i); // 해당 멤버를 삭제
				return true;
			}
		}
		
		// for가 끝날 때까지 return이 안 된 경우
		System.out.println(memberId + "가 존재하지 않습니다."); 
		return false;
	}
	
	// 전체 멤버 출력
	public void showAllMember()
	{
		for(Member m:arrayList)
		{
			System.out.println(m);
		}
	}

}
public class MemberArrayListTest {

	public static void main(String[] args) {
		
		MemberArrayList mar = new MemberArrayList();
		
		// 멤버 선언
		Member Lee = new Member(1001, "이순신");
		Member Kim = new Member(1002, "김유신");
		Member Kang = new Member(1003, "강감찬");
		Member Hong = new Member(1004, "홍길동");
		
		// 멤버 추가
		mar.addMember(Lee);
		mar.addMember(Kim);
		mar.addMember(Kang);
		mar.addMember(Hong);
		
		// 멤버 출력
		mar.showAllMember();
		
		// 멤버 삭제
		mar.removeMember(Hong.getMemberId());
		mar.showAllMember();
	}
}
이순신 회원님의 아이디는 1001입니다.
김유신 회원님의 아이디는 1002입니다.
강감찬 회원님의 아이디는 1003입니다.
홍길동 회원님의 아이디는 1004입니다.

// 삭제 후
이순신 회원님의 아이디는 1001입니다.
김유신 회원님의 아이디는 1002입니다.
강감찬 회원님의 아이디는 1003입니다.