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

建设部网站电子政务站长工具亚洲

建设部网站电子政务,站长工具亚洲,黄冈论坛黄冈论坛,网站备案失效单列集合:一次只能添加一个元素 双列集合:一次添加两个元素,左边的叫键(唯一的不能重复),右边叫值(可以重复),键和值一一对应。这样一对叫:键值对/键值对对象…

单列集合:一次只能添加一个元素

双列集合:一次添加两个元素,左边的叫键(唯一的不能重复),右边叫值(可以重复),键和值一一对应。这样一对叫:键值对/键值对对象/在Java中叫:Entry

Map常见API

Map是个接口,不能直接new Map,要new其实现类的对象

put方法的细节:有两个作用添加和覆盖

  • 在添加数据的时候,如果键不存在,那么直接把键值对对象添加到map集合当中,返回null。
  • 在添加数据的时候,如果键是存在的,那么会把原有的键值对对象覆盖,并把被覆盖的值进行返回

remove方法:删除后会返回对应的值。

Map遍历方式

三种:键找值、键值对、lambda表达式

键找值

先获取所有的键,放到单列集合里面,再使用get方法,依次获取每个键对应的值

public class A02_MapDemo2 {public static void main(String[] args) {//Map集合的第一种遍历方式//三个课堂练习:////练习一:  利用键找值的方式遍历map集合,要求:装着键的单列集合使用增强for的形式进行遍历//练习二:  利用键找值的方式遍历map集合,要求:装着键的单列集合使用迭代器的形式进行遍历//练习三:  利用键找值的方式遍历map集合,要求:装着键的单列集合使用lambda表达式的形式进行遍历//1.创建Map集合的对象Map<String,String> map = new HashMap<>();//2.添加元素map.put("尹志平","小龙女");map.put("郭靖","穆念慈");map.put("欧阳克","黄蓉");//3.通过键找值//3.1获取所有的键,把这些键放到一个单列集合当中Set<String> keys = map.keySet();//3.2遍历单列集合,得到每一个键for (String key : keys) {//System.out.println(key);//3.3 利用map集合中的键获取对应的值  getString value = map.get(key);System.out.println(key + " = " + value);}}
}

键值对

依次获取map里的键值对,通过get方法再依次获取里面的键和值

package com.itheima.a01mymap;import java.util.HashMap;
import java.util.Map;public class A03_MapDemo3 {public static void main(String[] args) {//Map集合的第二种遍历方式//三个课堂练习:////练习一:  通过键值对对象进行遍历map集合,要求:装着键值对对象的单列集合使用增强for的形式进行遍历//练习二:  通过键值对对象进行遍历map集合,要求:装着键值对对象的单列集合使用迭代器的形式进行遍历//练习三:  通过键值对对象进行遍历map集合,要求:装着键值对对象的单列集合使用lambda的形式进行遍历//1.创建Map集合的对象Map<String, String> map = new HashMap<>();//2.添加元素//键:人物的外号//值:人物的名字map.put("标枪选手", "马超");map.put("人物挂件", "明世隐");map.put("御龙骑士", "尹志平");/* //3.Map集合的第二种遍历方式//通过键值对对象进行遍历//3.1 通过一个方法获取所有的键值对对象,返回一个Set集合Set<Map.Entry<String, String>> entries = map.entrySet();//3.2 遍历entries这个集合,去得到里面的每一个键值对对象for (Map.Entry<String, String> entry : entries) {//entry  --->  "御龙骑士","尹志平"//3.3 利用entry调用get方法获取键和值String key = entry.getKey();String value = entry.getValue();System.out.println(key + "=" + value);}*///3.Map集合的第二种遍历方式//通过键值对对象进行遍历//3.1 通过一个方法获取所有的键值对对象,返回一个Set集合//3.2 遍历entries这个集合,去得到里面的每一个键值对对象for (Map.Entry<String, String> entry :  map.entrySet()) {//entry  --->  "御龙骑士","尹志平"//3.3 利用entry调用get方法获取键和值String key = entry.getKey();String value = entry.getValue();System.out.println(key + "=" + value);}}
}

lambda表达式

package com.itheima.a01mymap;import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;public class A04_MapDemo4 {public static void main(String[] args) {//Map集合的第三种遍历方式//1.创建Map集合的对象Map<String,String> map = new HashMap<>();//2.添加元素//键:人物的名字//值:名人名言map.put("鲁迅","这句话是我说的");map.put("曹操","不可能绝对不可能");map.put("刘备","接着奏乐接着舞");map.put("柯镇恶","看我眼色行事");//3.利用lambda表达式进行遍历//底层://forEach其实就是利用第二种方式进行遍历,依次得到每一个键和值//再调用accept方法map.forEach(new BiConsumer<String, String>() {@Overridepublic void accept(String key, String value) {System.out.println(key + "=" + value);}});System.out.println("-----------------------------------");map.forEach((String key, String value)->{System.out.println(key + "=" + value);});System.out.println("-----------------------------------");map.forEach((key, value)-> System.out.println(key + "=" + value));}
}

HashMap

特点:是Map的实现类。无序,不重复,无索引都是指键。HashMap和HashSet的底层是一样的,都是哈希表结构

创建时,在底层创建一个长度为16,默认加载因子为0.75的数组,再利用put方法就可以添加数据了,put方法底层首先创建一个Entry对象,记录要添加的键和值,利用键计算哈希值(与要添加的值无关),确定要存入的数组索引,存入即可,如果该位置已经有元素,则调用equals方法比较的属性值,如果键里的数据一样,那么覆盖原有的Entry,键不一样则(jdk8以后)则挂在原来元素下面(链表),当链表长度超过8且数组长度>=64,则下面的链表自动转为红黑树。

LinkedHashMap

有序,不重复,无索引指的是键。有序是指:存取元素顺序一致

底层原理:底层数据结构是依然哈希表,只是每个键值对元素又额外的多了一个双链表的机制记录存储的顺序。每添加一个元素在它们之间形成一个双向链表。

TreeMap

TreeMap和TreeSet底层一样的,都是红黑树结构

键:不重复,无索引,可排序(是指对键可排序)默认按照键从小到大排列,也可以自己指定键排序规则。

排序规则实现方法:1实现comparable接口。2创建集合时传递comparator比较器对象

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

相关文章:

  • 网站更换备案号北京昨天出啥大事了
  • 本地唐山网站建设深圳网站建设优化
  • 做网站续费网站优化排名软件哪些最好
  • wordpress视频博客seo自动推广工具
  • 软件工程是工学还是理学seowhy教研室
  • 门户网站建设目标宁波seo推荐优化
  • 做网站功能百度手机网页版
  • 建设网站群免费拓客软件哪个好用
  • 广东知名网站建设网络新闻发布平台发稿
  • 常用网站设计缩略图百度seo快速排名
  • 银川市住房建设局网站关键词优化骗局
  • 网页搜索记录怎么恢复泉州全网营销优化
  • 新网站制作市场8大营销工具
  • 做网站小图标最近的新闻热点时事
  • 铁岭公司做网站北京网络排名优化
  • web网站开发准则百度指数查询工具
  • 上海网站建设觉策动力最新推广方法
  • 做网站需要租空间吗app拉新一手渠道商
  • 网站主机屋的虚拟主机打开速度慢天津做优化好的公司
  • 网站建设需求调研计划表昆明seo关键词排名
  • 做产品类网站有哪些杭州seo推广优化公司
  • win2008系统asp网站建设怎样制作网页新手自学入门
  • 网站推广的预算nba最新赛程
  • 东莞网站建设报价沈阳网站建设
  • 去除wordpress阅读更多字段网站关键词免费优化
  • 网站改版前端流程经验百度资源站长平台
  • 基因网站开发株洲seo
  • 创科手机网站百度竞价广告投放
  • 网站推广案例营销推广方案包括哪些内容
  • 做直播网站多少钱关键词优化排名的步骤