Java HashSet练习
来源:互联网 发布:java服务器插件 编辑:程序博客网 时间:2024/06/01 21:06
package ArrayList;import java.sql.Array;import java.util.ArrayList;import java.util.Iterator;import com.sun.org.apache.bcel.internal.generic.NEW;import p.bean.Person;public class ArrayListTest2 {public static void main(String[] args) {//singleDemo();ArrayList a1=new ArrayList();a1.add(new Person("lisi1",21));a1.add(new Person("lisi2",22));a1.add(new Person("lisi3",23));a1.add(new Person("lisi4",24));a1.add(new Person("lisi4",24));a1.add(new Person("lisi4",24));System.out.println(a1);a1=getSingleElements(a1);System.out.println(a1.remove(new Person("lisi2",22)));//true //虽然是new的 但 HashSet 先判断 有没有这个元素 根据 hashCode 和 equals 都符合 就删除了// ArrayList 是根据 euqals 判断 //一定要复写 自定义类中的这两个方法System.out.println(a1); }public static void singleDemo() {ArrayList a1=new ArrayList();a1.add("abc1");a1.add("abc2");a1.add("abc2");a1.add("abc4"); a1.add("abc4"); System.out.println(a1);a1=getSingleElements(a1);System.out.println(a1);}private static ArrayList getSingleElements(ArrayList a1) {//1 定义一个临时容器 ArrayList temp=new ArrayList();//2 迭代a1集合Iterator it=a1.iterator();while(it.hasNext()) {Object obj=it.next();//3 判断被迭代到的元素是否在临时容器中存在 if(!temp.contains(obj)) {temp.add(obj);}}return temp;}}
package p.bean;public class Person {private String name;private int age;public Person() {super();// TODO Auto-generated constructor stub}/*@Overridepublic int hashCode() {// TODO Auto-generated method stub//System.out.println(this+"...hashCode");return name.hashCode()+age;}*/@Overridepublic boolean equals(Object obj) {// TODO Auto-generated method stubif(this==obj)//地址一致 直接返回truereturn true;if(!(obj instanceof Person)){//如果 类型 不一致 根本不用比throw new ClassCastException("类型错误");}//System.out.println(this+"..euqals."+obj);Person p =(Person)obj;return this.name.equals(p.name)&&this.age==p.age;}public String toString() {return name+"..."+age;}public Person(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public static void main(String[] args) {// TODO Auto-generated method stub}}
阅读全文
0 0
- java HashSet 练习
- Java HashSet练习
- Java中HashMap和HashSet的使用练习
- java基础集合之HashSet练习(带答案)
- HashSet和LinkedHashSet练习
- Java HashSet
- Java------HashSet
- JAVA hashSet
- java/HashSet
- Java - HashSet
- Java HashSet
- Java - HashSet
- Java HashSet
- Java HashSet
- java HashSet
- java HashSet的使用
- java中HashSet详解
- Java HashMap and HashSet
- idea的实用功能
- L2-022. 重排链表
- Javascript模块化编程
- 项目管理工具maven(1)
- Effective c++ 学习笔记 1
- Java HashSet练习
- Java之集合类(2)
- C++面试宝典 知识点集锦
- permutations
- hdu 4406 #最大费用流
- 拓扑序列_邻接矩阵实现(Topological sequence)
- Java中substring、split、StringTokenizer三种截取字符串方法的性能比较
- HDU OJ 2005 第几天?
- 洛谷 P3372 【模板】线段树 1