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

网站怎么做查询功能google推广一年3万的效果

网站怎么做查询功能,google推广一年3万的效果,排名优化公司案例,设计公司logo的网站HashMap 说明 HashMap是Map里面的一个实现类。 没有额外需要学习的特有方法,直接使用继承自Map里面的方法就可以了。 特点 特点都是由键决定的:无序、不重复、无索引 HashMap的底层原理 HashMap跟HashSet底层原理是一模一样的,都是哈希表结构…

HashMap

说明

HashMap是Map里面的一个实现类。
没有额外需要学习的特有方法,直接使用继承自Map里面的方法就可以了。

特点

特点都是由键决定的:无序、不重复、无索引

HashMap的底层原理

HashMap跟HashSet底层原理是一模一样的,都是哈希表结构

利用键计算哈希值,和值无关

集合中存入的元素时会先将键和值封装为键值对(Entry)类,再将Entry类存入集合

注意事项

HashMap底层依赖hashCode方法和equals方法保证键的唯一
如果键存储的是自定义对象,需要重写hashCode和equals方法
如果值存储自定义对象,不需要重写hashCode和equals方法 

案例练习

存储学生对象并遍历

创建一个HashMap集合,键是学生对象(Student),值是籍贯(String)。
存储三个键值对元素,并遍历
要求:同姓名,同年龄认为是同一个学生

Student类

import java.util.Objects;public class Student {private String name;private int age;public Student() {}public Student(String name, int age) {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;}//键是自定义对象,需要重写equals和hashCode方法//才能通过比较自定义对象的属性值判断是否唯一@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return age == student.age && Objects.equals(name, student.name);}@Overridepublic int hashCode() {return Objects.hash(name, age);}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}
}

测试类 

import java.util.HashMap;public class Test {public static void main(String[] args) {HashMap<Student, String> hm = new HashMap<>();Student s1 = new Student("zhangsan", 23);Student s2 = new Student("lisi", 24);Student s3 = new Student("wangwu", 25);hm.put(s1, "北京");hm.put(s2, "上海");hm.put(s3, "深圳");hm.forEach((student, s) -> System.out.println(student + " = " + s));//Student{name='wangwu', age=25} = 深圳//Student{name='lisi', age=24} = 上海//Student{name='zhangsan', age=23} = 北京//s4的键与s1重复,覆盖s1的值Student s4 = new Student("zhangsan", 23);hm.put(s4, "重庆");hm.forEach((student, s) -> System.out.println(student + " = " + s));//Student{name='wangwu', age=25} = 深圳//Student{name='lisi', age=24} = 上海//Student{name='zhangsan', age=23} = 重庆}
}
统计投票人数

某个班级80名学生,现在需要组成秋游活动,班长提供了四个景点依次是(A、B、C、D),每个学生只能选择一个景点,请统计出最终哪个景点想去的人数最多。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
import java.util.Set;public class Test1 {public static void main(String[] args) {//定义数组记录选项char[] ch = {'A', 'B', 'C', 'D'};//定义集合记录投票结果ArrayList<Character> list = new ArrayList<>();//模拟投票,将结果存入集合Random r = new Random();for (int i = 0; i < 80; i++) {int index = r.nextInt(ch.length);char c = ch[index];list.add(c);}//定义双列集合,键是选项,值是该选项的被投次数HashMap<Character, Integer> hm = new HashMap<>();//遍历集合list中的每一个选项,判断集合hm的键是否存在该选项//如果不存在就将该选项存入hm为键,值为1//如果存在就将该选项对应的值加1for (char c : list) {if (hm.containsKey(c)) {//存在int count = hm.get(c);count++;hm.put(c, count);} else {//不存在hm.put(c, 1);}}//得到最高票数int max = 0;Set<Character> chs = hm.keySet();for (char c : chs) {int count = hm.get(c);if (count > max) {max = count;}}System.out.println(hm);//{A=23, B=14, C=15, D=28}//判断哪一个选项对应的票数是最高票for (char c : chs) {int count = hm.get(c);if (count == max) {System.out.println(c);//D}}}
}

LinkedHashMap

特点

由键决定:有序、不重复、无索引
这里的有序指的是保证存储和取出的元素顺序一致

LinkedHashMap的底层原理

底层数据结构依然是哈希表,只是每个键值对元素又额外的多了一个双链表的机制记录存储的顺序

TreeMap

特点

由键决定特性:可排序、不重复、无索引
可排序:对键进行排序

TreeMap底层原理

TreeMap跟TreeSet底层原理一样,都是红黑树结构

两种排序规则

实现Comparable接口,指定比较规则。
创建集合时传递Comparator比较器对象,指定比较规则。 

案例练习

需求1

键:整数表示id
值:字符串表示商品名称
要求:按照id的升序排列、按照id的降序排列

import java.util.TreeMap;public class Test2 {public static void main(String[] args) {//默认升序排列TreeMap<Integer, String> tm1 = new TreeMap<>();tm1.put(2, "苹果");tm1.put(3, "香蕉");tm1.put(1, "橘子");tm1.put(4, "梨子");System.out.println(tm1);//{1=橘子, 2=苹果, 3=香蕉, 4=梨子}//传递Comparator比较器对象,实现降序排列TreeMap<Integer, String> tm2 = new TreeMap<>((o1, o2) -> o2 - o1);tm2.put(2, "苹果");tm2.put(3, "香蕉");tm2.put(1, "橘子");tm2.put(4, "梨子");System.out.println(tm2);//{4=梨子, 3=香蕉, 2=苹果, 1=橘子}}
}
需求2

键:学生对象
值:籍贯
要求:按照学生年龄的升序排列,年龄一样按照姓名的字母排列,同姓名年龄视为同一个人 

Student类 

public class Student implements Comparable<Student> {private String name;private int age;public Student() {}public Student(String name, int age) {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;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}@Overridepublic int compareTo(Student o) {//按照学生年龄的升序排列,年龄一样按照姓名的字母排列,同姓名年龄视为同一个人int i = this.getAge() - o.getAge();i = i == 0 ? this.getName().compareTo(o.getName()) : i;return i;}
}

 测试类

import java.util.TreeMap;public class Test {public static void main(String[] args) {TreeMap<Student, String> tm = new TreeMap<>();Student s1 = new Student("zhangsan", 23);Student s2 = new Student("lisi", 24);Student s3 = new Student("wangwu", 25);tm.put(s2, "上海");tm.put(s3, "深圳");tm.put(s1, "北京");tm.forEach((student, s) -> System.out.println(student + " = " + s));//Student{name='zhangsan', age=23} = 北京//Student{name='lisi', age=24} = 上海//Student{name='wangwu', age=25} = 深圳Student s4 = new Student("zhangsan", 23);tm.put(s4, "重庆");tm.forEach((student, s) -> System.out.println(student + " = " + s));//Student{name='zhangsan', age=23} = 重庆//Student{name='lisi', age=24} = 上海//Student{name='wangwu', age=25} = 深圳}
}

http://www.dtcms.com/wzjs/598368.html

相关文章:

  • 京东网上购物商城官方网站互联网运营模式有哪几种
  • wordpress密码修改南宁seo网络推广
  • 海城做网站我先做个网站怎么做
  • 黄岩做网站的公司wordpress二手车主题
  • 网站建设 中企动力 常州图书馆网站建设申请
  • 鹤壁做网站优化商标注册多少钱
  • 沈阳网站建设公司熊掌号cad培训班一般学多久
  • 网站建设制作视频教程越南做网站服务器
  • wordpress个人下载网站模板nike网站建设方案
  • 网站建设低价建站wordpress文章显缩络图
  • 律师事务所网站建设建设通是正规网站吗
  • 布吉网站建设公司网页风格设计
  • 建设一个电商网站的流程网站常用的优化方法有哪些
  • 地方网站推广廊坊建设局网站6
  • 网站策划书撰写国别网站定位命令 co .uk sa
  • 企业如何做好网站运营管理网站空间和流量
  • 云主机搭建asp网站网易企业邮箱登录入口手机
  • 搜索引擎网站有哪些浅析电商网站建设趋势
  • 只做一页的网站多少钱jsp 响应式网站模板下载
  • 简洁网站倒计时代码wordpress 按作者分类
  • 网站营销的优势太原网站建设方案开发
  • 苏州家教网站建设申请空间 建立网站吗
  • 上海网站络公司推广怎么做?
  • 游戏网站建设与策划无锡优化
  • 如何做网站挣钱做网站维护是什么岗位
  • 宁波做公司网站网站开发一次性费用
  • 做免费漫画网站有风险吗深圳专业画册设计公司
  • 网站特效模板下载网站国外推广
  • 什么网站能让小孩做算术题青岛网站建设博采网络
  • 做策划需要进的网站网页制作模板中学