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

网站加速 wordpress三星网上商城投诉电话

网站加速 wordpress,三星网上商城投诉电话,网站空间免,网站建设评价指标文章目录 Map接口#xff08;一#xff09;实现类#xff1a;HashMap特点HashMap集合的一些方法 #xff08;二#xff09;实现类#xff1a; TreeMap特点【自然排序】代码【定制排序】代码TreeMap集合的一些方法 HashMap 和 TreeMap的区别 前文回顾#xff1a; 戳这里 … 文章目录 Map接口一实现类HashMap特点HashMap集合的一些方法 二实现类 TreeMap特点【自然排序】代码【定制排序】代码TreeMap集合的一些方法 HashMap 和 TreeMap的区别 前文回顾 戳这里 → java基础 之 集合与栈的使用一 戳这里 → java基础 之 集合与栈的使用二 阅读指南第一遍可以先忽略代码~ 代码可以直接复制粘贴~ Map接口 一实现类HashMap 特点 HashMap底层是链表数组jdk8以加入了红黑树HashMap存储是key-valuel类型的数据key不允许重复重复时会被覆盖value值允许重复数据存储无序key和value都允许为空但是只能有一个空的key线程不安全 HashMap集合的一些方法 import java.util.HashMap;public class TestHashMap {public static void main(String[] args) {HashMap hashMap new HashMap();HashMap newHashMap new HashMap();// .put(K V value) 将键key/值value映射存放到Map集合中,无返回值hashMap.put(hello,123);hashMap.put(world,234);hashMap.put(Hello,123);hashMap.put(hello,123);newHashMap.put(aaa,111111);newHashMap.put(bbb,222222);newHashMap.put(ccc,3333333);// .get(Object key) 返回指定键所映射的值没有该key对应的值则返回null即获取key对应的value。System.out.println(hashMap.get(hello)); // 输出123System.out.println(hashMap.get(hello1)); // 输出null// . size() 返回Map集合中数据数量准确说是返回key-value的组数。System.out.println(hashMap.size()); // 输出3// isEmpty () 判断Map集合中是否有数据如果没有则返回true否则返回falseSystem.out.println(hashMap.isEmpty()); // 输出false// remove(Object key) 删除Map集合中键为key的数据并返回其所对应value值。hashMap.remove(hello); // 无返回值System.out.println(------);// containsKey(Object key) Hashmap判断是否含有keySystem.out.println(hashMap.containsKey(hello)); // 输出false// containsValue(Object value) Hashmap判断是否含有valueSystem.out.println(hashMap.containsValue(123)); // 输出true// Hashmap添加另一个同一类型的map下的所有数据hashMap.putAll(newHashMap); // 无返回数System.out.println(hashMap);// Hashmap替换这个key的valueSystem.out.println(hashMap.put(aaa,aaa0000)); // 替换后返回被替换的值System.out.println(hashMap);// clear() 清空Map集合hashMap.clear(); // 无返回值} }多说几句 1、key只能使用基本数据类型intchar…的封装类IntegerString… 2、jdk1.8 之前 HashMap 由 数组 链表 组成数组是 HashMap 的主体链表则是主要为了解决哈希冲突。 3、jdk1.8 以后在解决哈希冲突时有了较大的变化当链表长度大于阈值一般为 8 并且当前数组的长度大于 64 时此时此索引位置上的所有数据改为使用红黑树存储。 4、插入、查找和删除操作的平均时间复杂度是O(1)但在最坏情况下可能会达到O(n)。 二实现类 TreeMap 特点 TreeMap是有序的key-value集合是通过红黑树来实现的 无序元素顺序与添加顺序不一致且不允许重复 TreeMap的key是有序的 默认会对键进行排序所以必须实现自然排序和定制排序中的一种 自然排序TreeMap的所有key必须实现Comparable接口且所有的key应该是同一类的对象否则会抛出ClassCastException类转换异常 定制排序创建TreeMap时传入一个Comparator对象该对象负责对TreeMap中的所有key进行排序。此时不需要key实现Comparable接口 若使用自定义类作为key所属的类需重写equals()和hashCode()当equals()的返回为true时compareTo()返回应为0 同一个TreeMap对象中添加的key必须是相同的类型因为要求key是具有可比性的对象 【自然排序】代码 // 创建一个Student类包含name姓名、age年龄和sno学号三个属性 public class Student implements Comparable{String name; // 姓名Integer age; // 年龄String sno; // 学号// 构造函数public Student(String name, Integer age, String sno) {this.name name;this.age age;this.sno sno;}// 重写compareto方法。Overridepublic int compareTo(Object o) {if(o instanceof Student){Student s (Student) o;int c_name this.name.compareTo(s.name);int c_sno this.sno.compareTo(s.sno);if(c_name!0){ // 先按照名称排序return this.sno.compareTo(s.name);}else if(c_sno!0){ // 名称相同按照学号排序return this.sno.compareTo(s.sno);}else { // 名称、学号相同按照年龄排序return this.age.compareTo(s.age);}}return 0;}// 方便打印显示Overridepublic String toString() {return Student{ name name \ , age age , sno sno \ };} }import java.util.TreeMap; public class TestHashMap {public static void main(String[] args) {TreeMap treeMap new TreeMap();treeMap.put(new Student(xiaoming,23,1233456),1234);treeMap.put(new Student(xiaoming,23,1233451),1234);treeMap.put(new Student(xiaoa,12,1233451),1234);System.out.println(treeMap);} } -------------打印结果---------------- {Student{namexiaoa, age12, sno1233451}1234, Student{namexiaoming, age23, sno1233451}1234, Student{namexiaoming, age23, sno1233456}1234}【定制排序】代码 // 创建一个Person类注意该类不需要实现Comperator接口 import java.util.Comparator;public class Person{String name; // 姓名Integer age; // 年龄String phone; // 性别public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public String getPhone() {return phone;}public void setPhone(String sex) {this.phone phone;}public static final ComparatorPerson COMPARATOR new ComparatorPerson() {Overridepublic int compare(Person o1, Person o2) {int p_name o1.getName().compareTo(o2.getName()); // 按姓名比较int p_age o1.getAge().compareTo(o2.getAge()); // 按年龄int p_phone o1.getPhone().compareTo(o2.getPhone()); // 按手机号比较if(p_name!0){ // 先按照名称排序return p_name;}else if(p_age!0){ // 名称相同按照年龄return p_age;}else { // 名称、年龄相同按照手机号码排序return p_phone;}}};public Person(String name, Integer age, String phone) {this.name name;this.age age;this.phone phone;}Overridepublic String toString() {return Person{ name name \ , age age , phone phone \ };} }import java.util.TreeMap;public class TestHashMap {public static void main(String[] args) {TreeMap treeMap new TreeMap(Person.COMPARATOR);treeMap.put(new Person(xiaoming,23,1233456),1234);treeMap.put(new Person(xiaoming,23,1233451),1234);treeMap.put(new Person(xiaoa,12,1233451),1234);System.out.println(treeMap);} } -------打印结果自己敲或者复制代码自己运行吧在此偷个懒了.....1、自然排序需要实现Comparable接口并重写compareTo方法不需要写get()和set()方法 2、定制排序不需要实现Comparable接口需要通过匿名内部类生成一个静态常量COMPARATOR、getter()、setter()方法。同时在生成TreeMap对象时需要使用创建的 COMPARATOR。 TreeMap集合的一些方法 public class TestHashMap {public static void main(String[] args) {TreeMap treeMap new TreeMap(Person.COMPARATOR);Person p1 new Person(xiaoming,23,1233455);Person p2 new Person(xiaoming,23,1233451);treeMap.put(p1,1234);treeMap.put(p2,1234);treeMap.put(new Person(xiaoa,12,1233454),1234);Person p4 new Person(xiaoz,12,1233452);treeMap.put(p4,1234);treeMap.put(new Person(xiaoy,22,1233453),1234);Person example new Person(xiaon,23,1233456);// 返回指定的Key大于或等于的最小值的元素如果没有则返回nullEntry K treeMap.ceilingEntry(example);// 返回小于等于key的最大Key的元素Entry big treeMap.floorEntry(example);// 返回指定的Key大于或等于的最小值的Key如果没有则返回nullObject obj treeMap.ceilingKey(example);// 返回小于等于key的最大Key的keyPerson bkey (Person) treeMap.floorKey(example);// 返回集合的副本TreeMap cloneMap (TreeMap) treeMap.clone();cloneMap.put(p1,p1-6666);// 返回集合的全部Key并且是逆序的NavigableSet navigableSet treeMap.navigableKeySet();// 把集合逆序返回NavigableMap maps treeMap.descendingMap();// 返回集合中最小的值、最大的值Entry thLittle treeMap.firstEntry();Entry thBig treeMap.lastEntry();// 返回集合中最小的key、最大的keyPerson littleKey (Person) treeMap.firstKey();Person bigKey (Person) treeMap.lastKey();// 返回Key小于参数的所有元素SortedMap map treeMap.headMap(example);// 当inclusive为true时就是返回Key小于等于toKey的所有元素NavigableMap mapTrue treeMap.headMap(example,true);//返回Key大于key的所有元素、keyEntry entry treeMap.higherEntry(example);Person person (Person) treeMap.higherKey(example);// 截取集合中Key从fromKey到toKey的元素否是截取他们本身取决于true或者falseNavigableMap subs treeMap.subMap(example,false,p4,false);// 截取集合中Key从fromKey到toKey的元素包括fromKey不包括toKeySortedMap sortedMap treeMap.subMap(p1,p4);// 截取Key大于等于fromKey的所有元素SortedMap mp treeMap.tailMap(p1);// 当inclusive为true时截取Key大于等于fromKey的所有元素否则截取Key大于fromKey的所有元素SortedMap s1 treeMap.tailMap(p1,false);// 删除key最小的元素、最大元素Entry delLest treeMap.pollFirstEntry();Entry delLast treeMap.pollLastEntry();} }key因为是自定义变量的所以上边用example或者p1p2等来代替了 结果就自己打印出来看看吧 HashMap 和 TreeMap的区别 排序 HashMap不保证元素的顺序迭代顺序也是不确定的TreeMap 基于红黑树的实现会根据键的自然排序或自定义的比较器对键进行排序。TreeMap保证了元素的顺序可以按照键的升序进行遍历。 时间复杂度 HashMap的查找、插入和删除操作的平均时间复杂度为O(1)TreeMap的查找、插入和删除操作的时间复杂度为O(log n)其中n为元素的数量 性能 HashMap提供了常数时间的性能基于哈希表TreeMap提供了对数时间的性能基于红黑树
http://www.hkea.cn/news/14344377/

相关文章:

  • 大型网站建设机构哪家好辽阳内蒙古网站建设
  • 一个ip地址上可以做几个网站吗免费网站的资源可以发公众号吗
  • vps网站目录是灰色的门户网站栏目维护建设方案
  • 个人网站模块不用下载就能玩的网页游戏
  • 给别人做网站被诉侵权网站反链如何做
  • 仲恺企业网站建设海口建设网站的公司
  • 茶的网站制作WordPress寻主题
  • 英文网站流量统计在百度做网站推广怎么做
  • 冯站长之家官网wordpress 伪原创
  • 品牌建站一般网站用什么技术做的
  • 做网站运营用什么软件帝国cms做下载网站
  • 南昌公司做网站需要多少钱用阿里云自己建设网站
  • 个人做网站seo网站怎样做移动端适配
  • 工控主机做网站服务器建筑找活网站哪个最好
  • 网站tdk优化百度网站怎样优化排名
  • 自助建站平台怎么制作图片链接
  • 免费帮朋友做网站方案解决网站
  • 汕头网站建站公司漯河市网站建设
  • node.js 网站开发移动端网站建设
  • 海誉网站定制wordpress iis 分页 404
  • 国外外包网站网站建设的潜在客户
  • 南宁武鸣区建设局网站怎么做微信小说网站吗
  • 贵州最好的网站建设推广公司东莞市卫生健康局
  • 营销型网站设计制作东营局域网设计
  • 西安便宜的网站建设什么叫关键词
  • 深圳福田商城网站建设公司网站建设方案书
  • 制作网站首先做的工作网站设计 图片
  • 专业做淘宝网站公司网站的网络营销推广方案
  • 网站换程序 搜索引擎自己做网站运营
  • 株洲市网站建设php网站开发实例教程 源代码