이 기사의 예는 컬렉션을 사용하여 참조를 위해 주소록을 구현하기 위해 컬렉션을 사용하여 특정 Java 코드를 공유합니다. 특정 내용은 다음과 같습니다
이 코드는 약간 번거 롭고 초보자에게만 적합합니다.
항목 1
자바 주소록
메소드 (메소드를 선언하는 클래스)
코드 블록
코드 블록 구문은 표준 마크 다운 코드를 따릅니다.
package com.lanou.homwork; import java.util.collection; import java.util.hashmap; import java.util.linkedlist; import java.util.scanner; import java.util.set; classpepson {public hashmap map = null; public hashmap getMap () {return 맵; } public void setMap (HashMap 맵) {this.map = map; } public contactPerson (Hashmap 맵) {super (); this.map =지도; } public contactperson () {} // 연락처 추가 공개 해시 맵 addContact (person person) {// 맵 컬렉션이 비어 있습니다. // list.add (person)에 추가; this.map.put (person.getfirstcard (), list); // 맵 수집 시스템 추가. } else {System.out.println ( "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 절까지까지 '); // 비어 있지 않으면 먼저이 그룹화 세트 키 세트 = this.map.keyset () LinkedList LinkedList = (LinkedList) Object2; //이 그룹화 LinkedList.add (person)가 있습니다. } else {//이 그룹화 linkedlist list3 = new LinkedList (); list3.add (사람); this.map.put (person.getfirstcard (), list3); System.out.println (키 세트); System.out.println (map.values ()); 리턴 맵; }}} 리턴 맵; } // 연락처 공개 void 제거 (Person Person) {// 먼저 그룹화를 찾으십시오. // 모든 값 세트 set = this.map.keyset (); for (Object Object : set) {String namestring = person.getfirstcard (); if (namestring.equals (object)) {// 그룹화를 찾습니다. 컬렉션이 this.map.values (); for (Object Object1 : Collection) {// list array linkedlist list1 = (linkedlist) object1; // cast for (object2 : list1) {// traversal person2 = (person) objebs2; // if (person.getNamestring (). this.map.remove (person2.getfirstcard ()); // 전체 그룹화 show ()를 삭제합니다. } else {list1.remove (person2); 보여주다(); }}}}}}}}}}}}}}}}}}}}}} // 메소드 공개 void show () {System.out.println ( "*********************************************************************************************************************************************************************************************************; System.out.println ( "기능을 선택하십시오"); 문자열 [] newArrayStrings = { "1.add contacts", "2.delete contacts", "3. mogify contacts", "4. show all contacts"}; for (int i = 0; i <newArrayStrings.length; i ++) {System.out.println ( "*********" + newArrayStrings [i] + "*********"); } system.out.println ( "****************************************************; 스캐너 스캐너 = 새 스캐너 (System.In); int i = scanner.nextint (); 스위치 (i) {case 1 : {addperson (); } 부서지다; 사례 2 : {removeperson (); } 부서지다; 사례 3 : {upperson (); } 부서지다; 사례 4 : {printresult (this.map); } 부서지다; 기본값 : 브레이크; }} // 연락처 정보 수정 공개 void upperson () {person person = new person (); System.out.println ( "수정 될 사람의 이름을 입력하십시오 :"); 스캐너 스캐너 = 새 스캐너 (System.In); 문자열 nastring = scanner.next (); person.setnamestring (nastring); Shanchu (사람); } // 사람의 새 이름을 입력하고, 연령 공개 void CC (Person Person) {스캐너 스캐너 = 새 스캐너 (System.In); System.out.println ( "새 이름을 입력하십시오 :"); 문자열 nastring2 = scanner.next (); System.out.println ( "새로운 시대를 입력하십시오 :"); int age = scanner.nextint (); System.out.println ( "새 그룹을 입력하십시오"); 문자열 그룹 = 스캐너 .next (); uppersonmessage (Person, Nastring2, Group, Age); } // 그러한 사람이 있는지 확인하십시오. 공개적으로 shanchu (person person) {if (this.map.isempty ()) {System.out.println ( "주소록은 비어 있고 수정 실패"); System.out.println ( "연락처를 추가합니까? (예/아니오)"); 스캐너 스캐너 = 새 스캐너 (System.In); 문자열 namestring = scanner.next (); if (namestring.equals ( "yes")) {addperosn (); } else {System.out.println ( "어리석은 엄마에서 나가"); }} Collection Collection = this.map.values (); for (Object Object : Collection) {LinkedList List = (LinkedList) 개체; for (Object Object2 : list) {person perient2 = (person) object2; if (person.getNamestring (). Equals (person.getNamestring ()) {System.out.println ( "축하,이 사람은 주소록에 있습니다"); CC (사람); } else {system.out.println ( "입력이 잘못되었습니다"); }}}} 공개 사람 addperosn () {person p = new Person (); System.out.println ( "가산기의 이름을 입력하십시오 :"); 스캐너 스캐너 = 새 스캐너 (System.In); // 이름 문자열 이름 = scanner.next (); // age system.out.println ( "나이를 입력하십시오 :"); int age = scanner.nextint (); // Group System.out.println ( "그룹 이름을 입력하십시오 :"); String FirstCardstring = scanner.next (); P.SetFirstCard (FirstCardstring); P. 세트 (연령); P. 세트 내장 (이름); System.out.println (P); 첨가물 (P); System.out.println ( "계속됩니까? y/n"); if (scanner.next (). equals ( "y")) {show (); } else {system.out.println ( "******************** 다음에 다시 오실 수 있습니다 **********************"); } 반환 p; } 공개 사람 removePerson () {person p = new Person (); System.out.println ( "Deleter의 이름을 입력하십시오 :"); 스캐너 스캐너 = 새 스캐너 (System.In); // 이름 문자열 이름 = scanner.next (); // age system.out.println ( "Deleter의 나이를 입력하십시오 :"); int age = scanner.nextint (); // Group System.out.println ( "삭제 된 그룹 이름을 입력하십시오 :"); String FirstCardstring = scanner.next (); P.SetFirstCard (FirstCardstring); P. 세트 (연령); P. 세트 내장 (이름); 제거 (p); 반환 p; } // 연락처 수정 public Hashmap uppersonMessage (사람, 문자열 namestring, string firstcard, int age) {// 결정 } else {문자열 이름 = person.getFirstCard (); // 연락처 수집 컬렉션을 찾으십시오. for (Object Object2 : list) {person p = (person) object2; if (person.getNamestring (). equals (p.getNamestring ())) {// 동일한 단어는이 사람 System.out.println ( "Contact Once")이 있음을 의미합니다. if (list.size () == 1) {this.map.remove (p.getfirstcard ()); Person2 = 새로운 사람 (); person.2.setage (나이); person.2.setfirstcard (FirstCard); person.2.setnamestring (namestring); LinkedList List2 = New LinkedList (); list2.add (person2); this.map.put (person2.getfirstcard (), list2); System.out.println (this.map); } else {Person Perient2 = new Person (); person.2.setage (나이); person.2.setfirstcard (FirstCard); person.2.setnamestring (namestring); list.add (person2); System.out.println (this.map); }}}}} 리턴 맵; } // 모든 연락처 표시 public void printresult (hashmap map1) {if (map1.isempty ()) {System.out.println ( "주소록이 비어 있습니다"); } else {system.out.println (map1); 스캐너 스캐너 = 새 스캐너 (System.In); System.out.println ( "계속 y/n을 계속합니까"); if (scanner.next (). equals ( "y")) {show (); } else { System.out.println("*************** Welcome to come again next time*************************"); }}}}}} 클래스 개인 {private String namestring; 개인 문자열 FirstCard; 사적인 int 연령; 공개 문자열 getNamestring () {return namestring; } public void setnamestring (String namestring) {this.namestring = namestring; } public String getFirstCard () {return firstCard; } public void setfirstcard (String FirstCard) {this.firstcard = FirstCard; } public int getage () {반환 연령; } public void 설정 (int Age) {this.age = age; } public person () {super (); // TODO 자동 생성 생성자 Stub} public Person (String namestring, String FirstCard) {this.namestring = namestring; this.firstcard = FirstCard; } public Person (String namestring, String FirstCard, int Age) {this (namestring, firstcard); this.age = age; } @override public String toString () {return "name :" + this.getNamestring () + "age :" + this.age + "그룹 :" + this.firstcard; }}각주
프로젝트 2
테스트 클래스
코드 블록
코드 블록 구문은 표준 마크 다운 코드를 따릅니다.
package com.lanou.homwork; import java.util.hashmap; public class testperson {public static void main (string [] args) {hashmap map = new Hashmap (); ContactPerson ContactPerson = New ContactPerson (MAP); contactperson.show (); }}탐색 해주셔서 감사합니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.