当前位置: 首页 > 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/201708/

相关文章:

  • 网站开发要多钱外贸网站建设推广费用
  • 什么网站可以接单做海报WordPress修改站点名称_
  • 花瓣是模仿哪个网站工业产品设计专业
  • 徐州网站推广公司wordpress 判断页面
  • 贵州省建设厅门户网站怎么做网站的优化
  • 注册一个免费的网站海口注册公司流程及费用
  • ps4gta5网站建设中wordpress 最简单模板
  • asp网站目录权限有域名之后怎样进行网站建设
  • 妇科医院网站建设logo注册商标流程
  • 网站开发需要大学吗h5在哪里制作
  • 自适应网站好还是网站备案的链接
  • 网站建设资格预审公告营销融合app
  • 石家庄制作网站的公司自己做网站要不要钱
  • 做电商网站搭建就业岗位网站收录的页面被k出来
  • 做盗版小说网站能赚钱不免费短视频制作
  • WordPress网站积分系统班级网页网站建设
  • 什么网站可以做兼职wordpress excel 检索
  • 网站推广优化趋势ps教程
  • 汕头网站关键词优化教程wordpress安装乱码
  • 如何做公司网站优化记录网站 自己做
  • 做网站用到哪些软件是不是做推广都得有网站
  • 绍兴网站快速排名优化色多多导入百媚导航
  • 微信网站建设报价单用python怎么做网站
  • 网站设计中主题有哪些作用申请域名要多少钱
  • 网站开发流程甘特图昆山设计网站的公司
  • 哪个网站可以做翻译赚钱企业平台app下载
  • 网站兼职做计划赚小钱建立企业网站的步骤
  • 网站建设利润 有多少无锡网站App微信
  • 凡科建的网站可以做seo吗莱芜二手房
  • 编程猫官方网站十堰优化网站哪家好