Java:Vector集合,泛型为person类型的HashSet,迭代器遍历,不具有泛型的HashSet

//1.创建一个Vector集合,存储5条数据,将其转为HashSet类型的集合,使用foreach遍历出其内容






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("转发");
v.add("诗书画唱");
HashSet h = new HashSet(v);
for (Object i : h) {
System.out.println(i);
}
}
}


// 2.创建一个泛型为person类型的HashSet,保存3条数据,打印出来(迭代器遍历)
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对象攻击点数:" + 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.创建一个不具有泛型的HashSet,保存3条不同类型的数据,使用转为数组的方式进行打印
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对象攻击点数:" + 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;
}
}


