欢迎光临散文网 会员登陆 & 注册

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

2020-03-13 23:48 作者:诗书画唱  | 我要投稿

//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;

}

}

   


Java:Vector集合,泛型为person类型的HashSet,迭代器遍历,不具有泛型的HashSet的评论 (共 条)

分享到微博请遵守国家法律