1.Map接口-元素成对存在,每个元素由健与值两部分组成,通过键可以找所对应的值

  1.1 Map子类

  (1)HashMap<K,V>:存储数据所用的哈希表结构,元素的存取数据顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法

  (2)LinkedHashMap<K,V>:HashMap下的子类,存储数据采用的是哈希表结构+链表结构,通过链表结构保证元素的存取顺序一致,通过哈希表结构保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法

  1.2 Map接口中的常用方法

  (1)put方法:将指定的键与值对应起来,并添加到集合中

    返回值为键所对应的值,若指定的键在集合中没有,返回null;

  (2)get方法:获取指定键(key)所对应的值(value)

  (3)remove方法:根据制定的键(key)删除元素,返回被删除元素的值(value)

  1.3 Map集合遍历键找值方式

  (1)利用keySet()方法,获取Map集合中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键

  (2)遍历键的Set集合,得到每一个键

  (3)根据键利用get(Object key)方法,获取键所对应的值

  1.4 Entry键值对对象-将键值对的对应关系封装成对象

  (1)Map.Entry<K,V> -Map接口中提供的一个静态内部嵌套接口

     getKey()方法 - 返回与此项对应的键

     getValue()方法 - 返回与此项对应的值

     entrySet()方法 - 返回Map集合中所有的键值对(Entry)对象,以Set集合形式返回

  (2)利用Entry接口实现遍历方式

    利用entrySet()方法存储键值对对象Set集合

    通过调用迭代器或foreach遍历,调用getKey()和getValue()方法读取

  (3)Map集合不能直接使用迭代器或者foreach进行遍历。需要转换成Set集合

  1.5 HashMap存储自定义类型键值

  (1)当给HashMap中存放自定义对象时,若自定义对象作为key存在,为保证对象唯一,需要重写对象的hashCode和equals方法

  (2)要保证顺序的一制,可以使用LinkedHashMap集合存放

  1.6 静态导入-导入静态部分,某个类的静态成员可以直接使用,简化代码

  格式:import static XXX.YYY;   导入后YYY可以直接使用

  1.7 可变参数-一个方法需要接受多个参数,且多个参数类型一致

  (1)格式: 修饰符 返回值 方法名(参数类型...形参名){ }

  (2)参数中只能有一个可变参数

  (3)当方法拥有多参数时,参数中包含可变参数,可变参数一定要写在参数列表的末尾位置

  

2.Collections集合工具类

  (1)public static<T>  void sort(List<T>  list)  //集合元素排序

    调用:Collections.sort(list)

  (2)public static void shuffle(List<?> list)  //集合元素存储位置打乱

    调用如上

3.集合嵌套-Collection集合嵌套、Collection集合和Map集合相互嵌套、Map集合嵌套

  

    

[Day20]Map接口、可变参数、Collections的更多相关文章

  1. 20_集合_第20天(Map、可变参数、Collections)_讲义

    今日内容介绍 1.Map接口 2.模拟斗地主洗牌发牌 01Map集合概述 A:Map集合概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式 ...

  2. 11、Map、可变参数、Collections

    Map接口 Map集合概述 *A:Map集合概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同 a:Collection中的集合,元素 ...

  3. 集合(Map、可变参数、Collections)

    集合 第1章 Map接口 1.1 Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. l Collection中的集 ...

  4. java基础(20):Map、可变参数、Collections

    1. Map接口 1.1 Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤 ...

  5. Map、可变参数、静态导入、Collections、Arrays、集合嵌套

    Map双列集合 key 键 value 值 方法: put(K, V) //判断key值是否相等,相等,覆盖元素,不相等,存储 remove(K) Map集合的遍历(不要看到java提供了很多方法做一 ...

  6. HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别

    面试题: 1.HashMap和Hashtable的区别? HashMap:线程不安全,效率高,键和值都允许null值 Hashtable:线程安全,效率低,键和值都不允许null值 ArrayList ...

  7. JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)

    package com.itcast.test20140113; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  8. Java自学第6期——Collection、Map、迭代器、泛型、可变参数、集合工具类、集合数据结构、Debug

    集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. ...

  9. 零基础学习java------day14-----泛型,foreach,可变参数,数组和集合间的转换,Set,Map,

    1.泛型(jdk1.5以后出现) https://www.cnblogs.com/lwbqqyumidi/p/3837629.html#!comments (1)为什么要用泛型? 限制集合,让它只能存 ...

随机推荐

  1. gitlab服务器搭建

    当然喜欢英文的可以参考官方文档:https://about.gitlab.com/downloads/ 1.  根据自己的操作系统选择相应的安装方法,我这边是阿里云 centos 7的 sudo yu ...

  2. Eclipse编译运行没问题,但执行mvn clean install跑单元测试失败的原因解析

    问题描述:mvn clean install编译工程并运行单元测试出现如下错误 Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elaps ...

  3. Selenium Locating Elements

    Locating Elements Location Methods: find_element_by_id find_element_by_name find_element_by_xpath fi ...

  4. SQL join 连接时 条件加在 on后面和 where 的区别

    task 是用户任务表,manageuser是用户表,以left join 为参考: 此时主表是task,三条sql语句:注意区别.第一句无筛选条件,第二句筛选条件在on后面,第三句sql的筛选语句放 ...

  5. 使用 ThreeSixty 创建可拖动的 360 度全景图片预览效果

    ThreeSixty 是生成可拖动的360度预览图像序列的 jQuery 插件.只需要在你的 HTML 页面包引入最新的 jQuery 和 threesixty.js 文件就可以使用了,支持键盘上的箭 ...

  6. 如何解决 kubernetes 重启后,启来不来的问题

    参考了 https://blog.csdn.net/nklinsirui/article/details/80855415 最近在调研 kubeneter ,准备把线上的服务器架构再调整下,然后模拟各 ...

  7. Visual Studio 2017

    美国西雅图时间 3 月 7 日上午 9 点(北京时间 8 日凌晨 1 点),微软将正式发布 Visual Studio 2017.   下载地址:https://www.visualstudio.co ...

  8. ionic 3 热更新 Hot Code Push

    最近用ionic 3 做的app业务做的差不多了,突然想到以后app如果有更新该怎么搞?想到我们的app后期更新应该不大,,最多就是改改bug和增加下用户体验,如果只有一些小的更新,然后提交各个应用商 ...

  9. 学习使人快乐5-JavaWeb应用的组成结构

    开发JavaWeb应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错 WebRoot →Web应用所在目录,一般情况下虚拟目录要配置到此文件夹当中 ...

  10. String,StringBuffer,StringBudilder区别--2019-04-13

    String,StringBuffer,StringBudilder区别: 1String 是字符串常量,创建内容不可以变, final修饰意味着String类型不能被继承,减少被修改的可能,从而最大 ...