Java:Vector集合,泛型為person類型的HashSet,迭代器遍歷,不具有泛型的HashSet

//1.創(chuàng)建一個Vector集合,存儲5條數(shù)據(jù),將其轉為HashSet類型的集合,使用foreach遍歷出其內(nèi)容






package a;
import java.util.HashSet;
import java.util.Vector;
public class lizi {
public static void main(String[] args) {
Vector v = new Vector();
v.add("點贊");
v.add("投幣");
v.add("收藏");
v.add("轉發(fā)");
v.add("詩書畫唱");
HashSet h = new HashSet(v);
for (Object i : h) {
System.out.println(i);
}
}
}


??
// 2.創(chuàng)建一個泛型為person類型的HashSet,保存3條數(shù)據(jù),打印出來(迭代器遍歷)
package a;
import java.util.HashSet;
import java.util.Iterator;
public class lizi {
public static void main(String[] args) {
HashSet<person> HashSetduixiang = new HashSet<person>();
person duixiang1 = new person("詩書", 88, "投幣");
person duixiang2 = new person("畫唱", 80, "點贊");
person duixiang3 = new person("帥哥", 90, "收藏");
HashSetduixiang.add(duixiang1);
HashSetduixiang.add(duixiang2);
HashSetduixiang.add(duixiang3);
Iterator xiabiao = HashSetduixiang.iterator();// 得到一個Itertor結果集
while (xiabiao.hasNext()) {
person personduixiang = (person) xiabiao.next();
System.out.println("person對象名字:" + personduixiang.name
+ ",person對象攻擊點數(shù):" + personduixiang.gongji + ",person對象技能:"
+ personduixiang.jineng);
}
}
}
class person {
int gongji;
String jineng;
String name;
public person(String name, int gongji, String jineng) {
this.name = name;
this.gongji = gongji;
this.jineng = jineng;
}
@Override
public boolean equals(Object Objectduixiang) {/*
* 比較屬性的方法
* 首先將傳入的類型轉為本類型,如果類型都不一致
* ,那么肯定就不一樣了,
* 類型不同就要用()來進行進行轉型等:
*/
person personduixiang = (person) Objectduixiang;
// 比較屬性值,如果三個屬性值都一樣,就說明是同一個對象了
if (this.name.equals(personduixiang.name)
&& this.gongji == personduixiang.gongji
&& this.jineng.equals(personduixiang.jineng)) {
return true;// 源碼比較的時候是如果都是true才不添加
} else {
return false;
}
}
@Override
public int hashCode() {
return 1;
}
}



? ?
// 3.創(chuàng)建一個不具有泛型的HashSet,保存3條不同類型的數(shù)據(jù),使用轉為數(shù)組的方式進行打印
package a;
import java.util.HashSet;
import java.util.Iterator;
public class lizi {
public static void main(String[] args) {
HashSet HashSetduixiang = new HashSet();
HashSetduixiang.add("投幣");
HashSetduixiang.add("點贊");
HashSetduixiang.add("收藏");
HashSetduixiang.add("大帥哥");
System.out.println(HashSetduixiang);
HashSet HashSetduixiang2 = new HashSet();
person duixiang1 = new person("詩書", 88, "投幣");
person duixiang2 = new person("畫唱", 80, "點贊");
person duixiang3 = new person("帥哥", 90, "收藏");
person duixiang4 = new person("大帥哥", 91, "收藏");
HashSetduixiang2.add(duixiang1);
HashSetduixiang2.add(duixiang2);
HashSetduixiang2.add(duixiang3);
HashSetduixiang2.add(duixiang4);
Iterator xiabiao = HashSetduixiang2.iterator();
while (xiabiao.hasNext()) {
person personduixiang = (person) xiabiao.next();
System.out.println("person對象名字:" + personduixiang.name
+ ",person對象攻擊點數(shù):" + personduixiang.gongji + ",person對象技能:"
+ personduixiang.jineng);
}
}
}
class person {
int gongji;
String jineng;
String name;
public person(String name, int gongji, String jineng) {
this.name = name;
this.gongji = gongji;
this.jineng = jineng;
}
@Override
public boolean equals(Object Objectduixiang) {
person personduixiang = (person) Objectduixiang;
if (this.name.equals(personduixiang.name)
&& this.gongji == personduixiang.gongji
&& this.jineng.equals(personduixiang.jineng)) {
return true;
} else {
return false;
}
}
@Override
public int hashCode() {
return 1;
}
}
? ?


