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

设计服务网站牛奶推广软文文章

设计服务网站,牛奶推广软文文章,免费做网站视频,性能优化工具🎊专栏【Java基础】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【The truth that you leave】 🥰欢迎并且感谢大家指出我的问题 文章目录 🌺双列集合的特点🎄Map🍔Ma…

🎊专栏【Java基础】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【The truth that you leave】
🥰欢迎并且感谢大家指出我的问题

文章目录

  • 🌺双列集合的特点
  • 🎄Map
  • 🍔Map常用的API
    • ⭐创建Map集合的对象
    • ⭐添加元素
      • ✨注意
    • ⭐移除元素
    • ⭐清空元素
    • ⭐判断是否存在某个 键 / 值
    • ⭐判断集合是否为空
    • ⭐判断集合的长度
  • 🍔Map的遍历方式
    • ⭐方法一:键找值
    • ⭐方法二:键值对
      • ✨分析一下Map.Entry<String,String>
    • ⭐方法三:Lambda表达式
      • ✨分析一下new BiConsumer<String, String>()
  • 🎄HashMap
  • 🍔特点
  • 🍔例子
    • ⭐注意
  • 🎄LinkHashMap
  • 🍔特点
  • 🎄TreeMap
  • 🍔特点
    • ⭐两种排序规则

在这里插入图片描述

🌺双列集合的特点

在这里插入图片描述

  1. 双列集合一次需要存一对数据,分别是键和值
  2. 键不能重复,值可以重复
  3. 键和值是一一对应的,每一个键都能找到自己对应的值
  4. 键+值 这个整体我们称为"键值对"或者"键值对对象",在Java中称为"Entry对象"

🎄Map

🍔Map常用的API

⭐创建Map集合的对象

在这里插入图片描述

⭐添加元素

put("元素1","元素2");

在这里插入图片描述

✨注意

在添加元素的时候,如果键不存在,那么直接把 键值对对象 添加到map集合中,方法返回null
在添加元素的时候,如果键是存在的,那么会把 原来的键值对对象覆盖,把被覆盖的值进行返回
在这里插入图片描述

⭐移除元素

remove("元素");

在这里插入图片描述

⭐清空元素

clear();

在这里插入图片描述

⭐判断是否存在某个 键 / 值

在这里插入图片描述

⭐判断集合是否为空

在这里插入图片描述

⭐判断集合的长度

size();

在这里插入图片描述

🍔Map的遍历方式

⭐方法一:键找值

package com.practice;import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class practicedemo {public static void main(String[] args) {Map<String,String>map=new HashMap<>();map.put("1","2");map.put("3","4");map.put("5","6");//通过键找值//获取所有的键,把这些键都放到一个单列集合中Set<String>keys=map.keySet();for(String key:keys){//利用map集合中的键获取对应的值 getString value=map.get(key);System.out.println(key+"="+value);}}
}

在这里插入图片描述

⭐方法二:键值对

package com.practice;import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class practicedemo {public static void main(String[] args) {Map<String,String>map=new HashMap<>();map.put("1","2");map.put("3","4");map.put("5","6");//通过键值对//获取所有的键值对对象,返回一个Set集合Set<Map.Entry<String,String>> entries = map.entrySet();//遍历entries这个集合,去得到里面的每一个键值对对象for (Map.Entry<String,String>entry:entries){//通过entry调用get方法获取键和值String key=entry.getKey();String value=entry.getValue();System.out.println(key+"+"+value);}}
}

在这里插入图片描述

✨分析一下Map.Entry<String,String>

在这里插入图片描述
所以我们在表示Entry类型的时候,要使用Map(外部接口) . Entry去调用一下

⭐方法三:Lambda表达式

package com.practice;import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;public class practicedemo {public static void main(String[] args) {Map<String,String>map=new HashMap<>();map.put("1","2");map.put("3","4");map.put("5","6");//通过lambda表达式//匿名内部类的方式map.forEach(new BiConsumer<String, String>() {@Overridepublic void accept(String s, String s2) {System.out.println(s+"="+s2);}});System.out.println("----------------------------");map.forEach((String s, String s2) -> {System.out.println(s+"="+s2);});System.out.println("----------------------------");map.forEach(( s, s2) -> System.out.println(s+"="+s2));}
}

在这里插入图片描述

✨分析一下new BiConsumer<String, String>()

为什么是new BiConsumer<String, String>()

我们来查看一下forEach的源码
在这里插入图片描述
继续查看BiConsumer的源码

在这里插入图片描述

Lambda表达式只能用于实现只有一个抽象方法的接口,因为BiConsumer是一个接口,所以可以使用Lambda表达式

🎄HashMap

🍔特点

  • HashMap是Map里面的一个实现类
  • 方法可以直接使用Map里面的方法
  • 特点都是由 键 决定的:无序,不重复,无索引

🍔例子

⭐注意

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

Student.java

package com.itheima.a02myhashmap;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;}/*** 获取* @return name*/public String getName() {return name;}/*** 设置* @param name*/public void setName(String name) {this.name = name;}/*** 获取* @return age*/public int getAge() {return age;}/*** 设置* @param age*/public void setAge(int age) {this.age = age;}@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);return name.hashCode();}public String toString() {return "Student{name = " + name + ", age = " + age + "}";}
}

A01_HashMapDemo1.java

package com.itheima.a02myhashmap;import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class A01_HashMapDemo1 {public static void main(String[] args) {/*需求:创建一个HashMap集合,键是学生对象(Student),值是籍贯(String)。存储三个键值对元素,并遍历要求:同姓名,同年龄认为是同一个学生核心点:HashMap的键位置如果存储的是自定义对象,需要重写hashCode和equals方法。*///1.创建HashMap的对象HashMap<Student,String> hm = new HashMap<>();//2.创建三个学生对象Student s1 = new Student("zhangsan",23);Student s2 = new Student("lisi",24);Student s3 = new Student("wangwu",25);Student s4 = new Student("wangwu",25);//3.添加元素hm.put(s1,"江苏");hm.put(s2,"浙江");hm.put(s3,"福建");hm.put(s4,"山东");//4.遍历集合Set<Student> keys = hm.keySet();for (Student key : keys) {String value = hm.get(key);System.out.println(key + "=" + value);}System.out.println("--------------------------");Set<Map.Entry<Student, String>> entries = hm.entrySet();for (Map.Entry<Student, String> entry : entries) {Student key = entry.getKey();String value = entry.getValue();System.out.println(key + "=" + value);}System.out.println("--------------------------");hm.forEach((student, s)-> System.out.println(student + "=" +  s));}
}

在这里插入图片描述

🎄LinkHashMap

🍔特点

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

在这里插入图片描述

🎄TreeMap

🍔特点

  • TreeMap和TreeSet底层原理一样,都是红黑树结构的
  • 由键决定特性:不重复,无索引,可排序
  • 可排序是可以对键进行排序,默认按照键从小到大排序,也可以自己定义键的排序规则

⭐两种排序规则

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

默认是升序排列
在这里插入图片描述
加上比较器后,可以变成降序排序

在这里插入图片描述

对比一下
HashMap效率高但是TreeMap可以排序,使用时要有所甄别

http://www.hengruixuexiao.com/news/46517.html

相关文章:

  • b2b商务平台排名seo软件
  • 北京企业展示网站建设不要手贱搜这15个关键词
  • 做视频网站弹窗百度打广告怎么收费
  • 百度上开个网站怎么做网络推广的好处
  • 可靠的微商城网站建设深圳货拉拉
  • 打开网站代码怎么写提高工作效率图片
  • 行业门户网站的优化怎么做yps行业门户系统信息流广告公司排名
  • 河北省住房城乡建设局网站首页培训机构在哪个平台找
  • 中牟郑州网站建设咸阳网站建设公司
  • 做网站好还是小程序好网站标题seo外包优化
  • 用asp.net做的网站模板下载成都百度业务员电话
  • 北京做网站建设价格百度客服中心人工在线咨询
  • 淄博英文网站建设google chrome
  • 网站制作信息网络营销推广的总结
  • 厦门 网站优化搜狗收录查询
  • 上海模板网站公司企业网站建设哪家好
  • 明年做哪个网站致富seo站长网
  • php建站模板浏览器下载
  • 做网站找客户软文范文大全1000字
  • 网站开发 合同网站seo策划
  • 做网站销售的技巧网页制作接单
  • 音乐网站用dw怎么做大一html网页制作作业简单
  • bbpress wordpress电池优化大师下载
  • 东莞网站推广优化搜索推广关键词什么意思
  • 网站加入搜索引擎怎么做产品营销策划方案
  • 长安网站建设多少钱百度网络推广怎么收费
  • 网站h标签站外推广怎么做
  • 哪家做网站便宜无锡seo公司哪家好
  • 食品电子商务网站建设规划书游戏代理加盟
  • 怎么在南京人社网站做失业登记抖音关键词排名软件