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

宜昌市建设局网站软件开发岗位介绍

宜昌市建设局网站,软件开发岗位介绍,作文网课,品牌型网站建设特点一、HashSet 此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。 代码: import java.util.HashSet; import java.util.LinkedHashSet; import ja…

一、HashSet

此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。 

代码:

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;class Person
{String name;int id;public Person(String name, int id) {this.name = name;this.id = id;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", id=" + id +'}';}
}
public class Main2 {public static void main(String[] args) {Set<String> set1=new HashSet<>();Set<Person> set2=new HashSet<>();set1.add("abc");set1.add("def");set1.add("aaa");set1.add("xzz");set1.add("xyz");Person p1=new Person("zhangsan",1);Person p2=new Person("lisi",3);Person p3=new Person("zhaoyiming",2);set2.add(p1);set2.add(p2);set2.add(p3);for(String i:set1){System.out.print(i+" ");}System.out.println();for (Person person:set2){System.out.print(person+" ");}}
}
 运行结果:

                              

虽然看似其输出结果是有序的,一些时候可以认为进行默认规则排序:字母和数字从小到大,字符串或中文随机存储。但不能认为其有序。

  • 无序性:HashSet 是无序的,即不会记录插入的顺序。

常见问题 1(ConcurrentModificationException)

HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。

常见异常代码:

(可自行将其中的HashSet改为LinkedHashSet和TreeSet,运行)

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;public class Main1 {public static void main(String[] args) {Set<String> set1=new HashSet<>();set1.add("howAreU");set1.add("Fine");set1.add("thankU");set1.add("andYou");set1.add("ok");for(String s:set1){if(s.equals("Fine"))set1.remove(s);}//set1.removeIf(s -> s.equals("Fine"));//可以用这句替换}
}
运行结果: 

 常见问题2:自定义排序

HashSet实际上是一个 HashMap 实例,不支持自定义排序,可以认为其只关心元素是否唯一,不关心其顺序。无论是实现Comparator还是Comparable都不会影响其中元素的顺序。

( 排序->Treeset )


二、LinkedHashSet

按照插入顺序排序,且不受重新插入的元素影响。即相当于只算第一次插入。

是HashSet的子类,同HashSet一样,不是线程安全,也不支持自定义排序。

题目中要求按照输入顺序输出时,基本上可以用。


三、TreeSet

默认规则排序(字母和数字)从小到大。如果其中元素是对象,则按照第一个属性排序

不是线程安全,支持自定义排序

自定义排序演示代码:
import java.util.*;class Person implements Comparable
{String name;int id;public Person(String name, int id) {this.name = name;this.id = id;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", id=" + id +'}';}@Overridepublic int compareTo(Object o) {  //定义排序标准,这里按照id从小到大Person p=(Person) o;return this.id-p.id;}
}
public class Main2 {public static void main(String[] args) {Set<Person> set2=new TreeSet<>();Person p1=new Person("zhangsan",1);Person p2=new Person("lisi",3);Person p3=new Person("zhaoyiming",2);set2.add(p1);set2.add(p2);set2.add(p3);for (Person person:set2){System.out.println(person+" ");}}
}
运行结果 :

                      

 我对Java接触不深,仍有太多太多要学,如有错误欢迎指出,感谢。

http://www.yayakq.cn/news/157194/

相关文章:

  • 前几年很火的网站建设公司seo优化在线诊断
  • asp是网站开发吗wordpress如何查看插件
  • 宁波专业建站辽宁网站建站系统平台
  • 潍坊建设部门管理网站拓者设计吧模型免费下载
  • 企业网站 响应式 案例怎样找竞争对手网站
  • 山东网站定制设计公司wordpress预约页面
  • 兼职网站建设招聘信息中核工建设集团网站
  • 青海省住建局和建设厅门户网站绵阳的网站建设公司
  • 建网站 主流软件有口碑的江苏网站建设
  • 软路由做网站中企动力 联系方式
  • 口碑营销的主要手段有哪些湖州做网站优化
  • 上市公司网站分析安卓app下载平台
  • 新乡网站关键字优化商品的销售网站总体设计
  • 请输入您网站的icp备案信息建设部网站安全考核证书查询
  • 网站运营的作用免费源码分享
  • 潮州南桥市场中国建设银行网站国内外网站开发技术
  • 网站的主机选择网页制作与设计专业
  • 海东网站建设公司wordpress侧边栏字体修改
  • 微信淘宝购物券网站是怎么做的佛山制作手机网站
  • 网站设计心得体会手机代理ip海外免费
  • 网站自动站建大学生网络营销策划书模板
  • 阿里云投数亿资源扶持中小网站迁移服务器Wordpress调用搜索
  • 企业网站规划方案软件定制开发服务流程
  • 图片素材网站模板做网站办什么类型营业执照
  • 传统网站设计的缺点建设一个视频网站的成本
  • 河南省建设行业证书查询网站吉林网站建设代理渠道
  • 汕头网站制作网站做教育网站的er图
  • 医疗网站不备案设计企业网站布局考虑的因素
  • 做一网站需要多少钱东莞网站空间
  • 天津红桥网站建设如何创建自己的网址