本身作的關於java中一對多,多對一的關聯關係是如何實現的,對於初學者仍是有必定參考價值的
/* * 功能:測試一對多多對一的關聯關係 * 做者:KDF5000 * 時間:2012.11.3 */ import java.util.ArrayList; import java.util.Iterator; public class Connect { public static void main(String []Args) { ArrayList<CreditCard > cards=new ArrayList<CreditCard >(); //第一帳戶,對應三張卡 CardsOwner owner1=new CardsOwner("宋江","男"); CreditCard card1=new CreditCard("中國銀行","123456789","123456",owner1); CreditCard card2=new CreditCard("工商銀行","164794684","123456",owner1); CreditCard card3=new CreditCard("農業銀行","468715647","123456",owner1); owner1.addCard(card1); owner1.addCard(card2); owner1.addCard(card3); //第二個帳戶對應兩張卡 CardsOwner owner2=new CardsOwner("林沖","男"); CreditCard card5=new CreditCard("中國銀行","123456789","123456",owner2); CreditCard card4=new CreditCard("工商銀行","164794684","123456",owner2); owner2.addCard(card5); owner2.addCard(card4); //把卡存起來 cards.add(card1); cards.add(card2); cards.add(card3); cards.add(card4); cards.add(card5); //輸出帳戶信息 System.out.println("姓名 性別 銀行 卡號 密碼"); owner1.showInfo(); owner2.showInfo(); System.out.println("--------------------------------------------"); System.out.println("銀行 卡號 密碼 主人 性別"); Iterator<CreditCard> i=cards.iterator(); while(i.hasNext()) { i.next().showCardsInfo(); } } } //CreditCard類 class CreditCard { String bankName; String number; String password; CardsOwner owner; //constructor public CreditCard(String bankName, String number, String password,CardsOwner owner) { this.bankName = bankName; this.number = number; this.password = password; this.owner=owner; } //setter and getter public String getBankName() { return bankName; } public void setBankName(String bankName) { this.bankName = bankName; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public CardsOwner getOwner() { return owner; } public void setOwner(CardsOwner owner) { this.owner = owner; } //輸出銀行卡的信息 void showCardsInfo() { System.out.println(this.bankName+" "+this.number+" "+this.password+" "+this.owner.getName()+" " +this.owner.getSex()); } } //銀行卡持有者 class CardsOwner { private String name; private String sex; ArrayList<CreditCard> cards; //構造方法 public CardsOwner(String name, String sex) { this.name = name; this.sex = sex; cards=new ArrayList<CreditCard>(); } //getter and setter public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public ArrayList<CreditCard> getCards() { return cards; } public void setCards(ArrayList<CreditCard> cards) { this.cards = cards; } void addCard(CreditCard card) { cards.add(card); card.setOwner(this); } //輸出我的信息 //迭代器輸出 void showInfo() { Iterator<CreditCard> i=cards.iterator(); while(i.hasNext()) { CreditCard temp1=i.next(); System.out.println(this.name+" "+this.sex+" "+temp1.bankName+" " +temp1.number+" "+temp1.password); } //for循環輸出 /*for(int j=0;j<cards.size();j++) { CreditCard temp=cards.get(j); System.out.println(this.name+" "+this.sex+" "+temp.bankName+" " +temp.number+" "+temp.password); }*/ } }