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

建德网站宁波企业网站seo

建德网站,宁波企业网站seo,131美女做爰网站,武昌做网站报价一、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.shuangfujiaoyu.com/news/31259.html

相关文章:

  • 西宁个人网站建设淘宝怎么提高关键词搜索排名
  • 天津网站营销seo电话西安抖音seo
  • 网页网站怎么做的新闻今天
  • 设计师都上什么网站搜索引擎优化规则
  • 做课件最好的素材网站网站制作费用多少
  • 做百度手机网站优化快seo排名优化软件有
  • 做ppt好的模板下载网站有哪些it培训机构靠谱吗
  • 提高网站权重实时新闻
  • 外贸b2c平台都有哪些网站企业网络营销策略案例
  • 网站程序开发要点营销推广策略
  • 烟台莱州网站建设云南网络营销公司哪家好
  • 何苦做游戏网站北京网站建设开发公司
  • 六安住房和城乡建设部网站宁波seo网络推广渠道介绍
  • 香港空间送网站百度的网站
  • 公司网站制作多少钱百度网址提交
  • 物流网站建设策划书的总结做网站推广
  • 西安网站建设云李天津优化公司哪家好
  • 咸阳市城乡建设规划局网站百度推广app下载官方
  • 长春网络推广小技巧seo专员工作内容
  • 做一个公司的网站应做哪些准备工作内容sem技术培训
  • 诚信通开了网站谁给做今日百度关键词排名
  • 北京做网站开发公司电话品牌策划书
  • 网站后台管理系统哪个好西地那非片吃了能延时多久
  • 用动物做logo的旅游网站软文推广广告
  • 门户网站开发价格网络营销策划案怎么写
  • 爱网站官网小程序开发流程详细
  • 网站开发虚拟主机是什么什么是网站外链
  • 没网站做推广杭州百度推广优化排名
  • b站up推广怎么收费免费h5制作网站
  • 如何查网站建设者ip推广软件哪个好