-
- 해당 코드를 참조만 하시고, 복사 붙여넣기를 통한 과제를 진행하시면 도움이 정말 하나도 안됩니다. 부디 직접해보시고, 다른 사람의 솔루션이 어떤 지 참조하시는 정도로만 사용해주세요.
ArrayList의 특정 위치에 회원을 추가해 봅니다.
회원을 추가할 때 맨 뒤가 아닌 특정 위치에 추가하는 메소드를 만들고
MemberArrayListTest 클래스에 코드를 추가하여 테스트해보세요.
MemberArrayList.java
package java0806; import java.util.ArrayList; // 사용할 클래스 import //import java0806.Member; public class MemberArrayList { private ArrayList<Member> arrayList; // ArrayList 선언 public MemberArrayList(){ arrayList = new ArrayList<Member>(); //멤버로 선언한 ArrayList 생성 } public void addMember(Member member){ //ArrayList 에 멤버 추가 arrayList.add(member); } public boolean removeMember(int memberId){ // 멤버 아이디를 매개변수로, 삭제 여부를 반환 for(int i =0; i<arrayList.size(); i++){ // 해당 아이디를 가진 멤버를 ArrayList에서 찾음 Member member = arrayList.get(i); int tempId = member.getMemberId(); if(tempId == memberId){ // 멤버 아이디가 매개변수와 일치하면 arrayList.remove(i); // 해당 멤버를 삭제 return true; // true 반환 } } System.out.println(memberId + "가 존재하지 않습니다"); //for 가 끝날 때 까지 return //이 안된 경우 return false; } public void showAllMember(){//전체 회원을 출력 for(Member member : arrayList){ System.out.println(member); } System.out.println(); } }
Member.java
package java0806; public class Member { private int memberId; //회원 아이디 private String memberName; //회원 이름 public Member(int memberId, String memberName){ //생성자 this.memberId = memberId; this.memberName = memberName; } public int getMemberId() { return memberId; } public void setMemberId(int memberId) { this.memberId = memberId; } public String getMemberName() { return memberName; } public void setMemberName(String memberName) { this.memberName = memberName; } @Override public String toString(){ //toString 메소드 오버라이딩 return memberName + " 회원님의 아이디는 " + memberId + "입니다"; } }
MemberArrayListTest.java
package java0806; import java.util.ArrayList; import java.util.Iterator; //import java0806.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); } }
해당 코드에서 원하는 위치(인덱스)에 객체를 넣기 위해서 arraylist.add(E e)를 사용
public void insertMember(Member member, int index) { arrayList.add(index, member); }
MemberArrayList.java 클래스안에 해당 메소드를 추가하여 add 할 수 있도록 한다.
memberArrayList.insertMember(memberHong, 1);
해당 코드를 MemberArrayListTest.java 클래스 안에 추가하여 메소드가 실행될 수 있도록 한다.
memberArrayList.addMember(memberLee); memberArrayList.addMember(memberSon); memberArrayList.addMember(memberPark); memberArrayList.addMember(memberHong); memberArrayList.showAllMember(); memberArrayList.insertMember(memberHong, 1); memberArrayList.showAllMember();
그 후, 객체들이 잘 저장됐는지 확인하기 위하여 앞서 생성해놓은 showAllMember()와 insertMember(E e)를 사용하여 확인한다. 해당 코드에서는 이, 손, 박, 홍이 각각 인덱스 0~3에 저장되고, 그 값들이 출력된 후 인덱스 1에 홍의 값이 추가되어 이, 홍, 손, 박, 홍이 생기게 될 것이다.
실행 결과 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
예상했던 결과가 출력되었다.
만약에 index를 초과한 숫자를 입력할 때의 예외처리를 한다면? ㅡㅡㅡ
public void insertMember(Member member, int index) { if(index < 0 || index > arrayList.size()) { System.out.println(index + "는 존재하지 않습니다."); return; } else arrayList.add(index, member); }
'실습코드 > 실습 코드' 카테고리의 다른 글
JAVA_hashMap(), keySet() 정렬 예제 (0) 2021.08.09 JAVA_hashcode(), equals(), remover() 예제. (0) 2021.08.09 JAVA_객체지향프로그래밍, 인터페이스 예제 (정렬 예제) (0) 2021.08.05 JAVA_객체지향 프로그래밍, 인터페이스 사용 예제 전화 상담 시스템 (0) 2021.08.05 JAVA_객체지향프로그래밍, 템플릿 메서드 응용 (게임 레벨) (0) 2021.08.04 댓글 (비로그인 댓글 허용하지 않습니다.)