当前位置: 首页 > news >正文

dedecms制作网站教程智能模板网站建设工具

dedecms制作网站教程,智能模板网站建设工具,制作收费网页,网站做优化的必要性Set接口#xff1a;无序集合#xff0c;不允许有重复值#xff0c;允许有null值 存入与取出的顺序有可能不一致 HashSet:具有set集合的基本特性#xff0c;不允许重复值#xff0c;允许null值 底层实现是哈希表结构 初始容量为16 保存自定义对象时#xff0c;保证数据的唯…Set接口无序集合不允许有重复值允许有null值                     存入与取出的顺序有可能不一致   HashSet:具有set集合的基本特性不允许重复值允许null值        底层实现是哈希表结构        初始容量为16        保存自定义对象时保证数据的唯一性主要由哈希表的结构决定        先判断hashCode()是否相同若相同再判断equals()是否相同         哈希表结构哈希表中存放的都是对象的哈希码值当想要给哈希表中存放对象时需要先进行对象的哈希码值比较若表中已经存在了相同的哈希码则继续比较equals方法比较对象的值是否相同若返回false则存入哈希表中相当于两个对象共享同一块内存地址。若表中无相同的哈希码值则直接存入。 package com.itycl.array; /*  * 用HashSet去除重复值  重写toString()  hashCode()   equals()  */ import java.util.HashSet; import java.util.Iterator;   public class HashSetDemo { public static void main(String[] args) {         HashSetInteger setnew HashSet();     set.add(1);     set.add(2);     set.add(3);     set.add(3);     set.add(4);     set.add(4);     Iterator itset.iterator();     while(it.hasNext()) {        Integer value (Integer) it.next();        System.out.println(value);     }     System.out.println(set); } }     HashSet存放自定义对象 package SetDemo1;   import java.util.HashSet; import java.util.Iterator; /*课堂练习  *      *  *  * System.out.println():默认添加:  内容.toString  * 输出该对象的字符串表示  *  *  *  */   public class HashSetDemo2 {    public static void main(String[] args) {     HashSetPerson psnew HashSet();     ps.add(new Person(小花,18));     ps.add(new Person(小绿,19));     ps.add(new Person(小红,19));     ps.add(new Person(小粉,18));         ps.add(new Person(小草,19));     ps.add(new Person(小草,19));       IteratorPerson itps.iterator();     while(it.hasNext()) {        System.out.println(it.next());         }      } }   Person类 package collection;   public class Person implements ComparablePerson { private String name; private int 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 Person(String name, int age) {     super();     this.name name;     this.age age; } Override public int compareTo(Person o) {     if(this.ageo.age) {        return 1;     }else if(this.ageo.age) {        return -1;     }else {        return this.getName().compareTo(o.getName());     }     } Override public String toString() {         return Person[namename,ageage]\t; } Override public int hashCode() {     return this.name.hashCode()this.age*7; } Override public boolean equals(Object obj) {         if(objnull) {        throw new RuntimeException(传入的对象不能为空!);     }         if(!(obj instanceof Person)) {        throw new RuntimeException(传入的对象不是Person的实例!);     }         Person p (Person) obj;     return p.getName().equals(this.name) p.getAge()(this.age);   } }           TreeSet:具有set集合的基本特性有序集合不允许重复值允许null。           底层实现是树的数据结构。                    两种排序方式 a)实现自comparable接口:自然顺序实现该接口类自身就具备了一种可比较性 *重写compareTo()方法 b)自定义一个比较器comparator:可以作为参数传给set集合让集合具有明确的比较 1.实现自comparable接口:       package SetDemo1; import java.util.Iterator; import java.util.TreeSet; /*使用TreeSet集合保存自定义对象  * 并且认为年龄和姓名相同对象为同一个学生对象  *  */ public class TreeSetDemo1 {    public static void main(String[] args) {     TreeSetStudent tsnew TreeSet();     ts.add(new Student(java01,20));     ts.add(new Student(java02,10));     ts.add(new Student(java03,20));     ts.add(new Student(java04,30));     ts.add(new Student(java05,20));     ts.add(new Student(java05,20));//不允许重复值     ts.add(null);     IteratorStudent itts.iterator();     while(it.hasNext()) {              System.out.println(it.next());      }      }       Person类 package com.itycl.array; //实现comparableT接口 public class Person implements ComparablePerson { private String name; private int 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 Person(String name, int age) {     super();     this.name name;     this.age age; } //重写compareTo() Override public int compareTo(Person o) {     if(this.ageo.age) {        return 1;     }else if(this.ageo.age) {        return -1;     }else {        return this.getName().compareTo(o.getName());     }     } //重写toString() Override public String toString() {         return Person[namename,ageage]\t; } }   2.自定义一个比较器comparator让集合具有明确的比较 自定义比较器实现implements Comparator接口 package com.itycl.array; import java.util.Comparator; public class MyComparator implements ComparatorStudent {     Override     public int compare(Student o1, Student o2) {        System.out.println(o1:o2);        if(o1null || o2null) {            throw new RuntimeException(比较的参数不能为空);        }        if(o1.getAge()o2.getAge()) {            return 1;        }else if(o1.getAge()o2.getAge()) {            return -1;        }else {            return o1.getName().compareTo(o2.getName());        }                } }   Student类 package com.itycl.array; public class Student { private String name; private int age; public Student(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; } Override public String toString() {     return Person[namename,ageage]\t; } }   TreeSetDemo1: package com.itycl.array; import java.util.Iterator; import java.util.TreeSet; public class TreeSetDemo1 { public static void main(String[] args) {     MyComparator mynew MyComparator();//创建比较器对象并且传到set集合中使set集合本身具有明确的比较     TreeSetStudent setnew TreeSet(my);     set.add(new Student(张倩,12));     set.add(new Student(李雷,10));     set.add(new Student(兰兰,6));     set.add(new Student(老刘,26));     set.add(new Student(王乐,21));     Iterator itset.iterator();     while(it.hasNext()) {        Student s (Student) it.next();        System.out.println(s.toString());     } } } 转载于:https://www.cnblogs.com/MiLanDaEr/p/10055354.html
http://www.yutouwan.com/news/199491/

相关文章:

  • 网站开发侵权前端和后端哪个难
  • 网站开发环境实验报告有设计感的网页设计
  • 遵义网站建设安卓神级系统优化工具
  • 免费网站封装app胶州网站建设电话
  • 泰安可信的网站建设广州市 优化推广
  • 网站建设欣wordpress积分墙
  • 中国建设银行官方网站首页做网站东莞选哪家公司好
  • 创业网站搭建设计方案网站建设招聘启事
  • wordpress 手机网站支付宝网站后台难做吗
  • 二合一收款码免费制作网站中华室内设计网官网
  • 河南广宇建设集团有限公司网站wordpress卡死了
  • 网站开发技术课程设计报告商务网站开发考题
  • 网站域名续费怎么做有没有专业做二手老车的网站
  • 贵阳网站建设-中国互联中移建设 网站
  • 网站配置支付宝国内返利网站怎么做
  • 广元专业高端网站建设四川建设人才考试官网
  • 牛商网做的网站有哪些做网站高亮
  • 金融网站织梦模板小企业销售管理软件
  • 网站建设怎么入会计账电商培训方案
  • 用电脑做兼职的网站自己做网站教学视频教程
  • 南宁网站建设蓝云品牌广告设计制作公司网站源码
  • 网站上传照片失败建站之星网站空间根目录
  • 做网站 做好把我踢开搭建网站的空间哪里买
  • 数据库网站建设方案服装设计以及网页设计素材
  • 三门峡做网站推广怎么做轴承网站
  • 安 网站建设网络营销学校
  • 洛阳网站建设培训什么叫做电商
  • 酒厂网站源码17网站一起做网店
  • 网站改版的原因wordpress 文本 点不了
  • 做国内学历公证的网站心理学网站可以在线做量表