(1)Set集合 (2)Map集合 (3)异常机制
1.Set集合(重点)
1.1 基本概念
java.util.Set接口是Collection接口的子接口,与List接口平级。
该接口中的元素没有先后放入次序,并且不允许重复。
该接口的主要实现类:HashSet类 和 TreeSet类。
其中HashSet类的底层是采用哈希表来进行数据的管理。
其中TreeSet类的底层是采用有序二叉树进行数据的管理。
1.2 常用的方法
常用的方法参考Collection集合即可;
Iterator<E> iterator() - 用于获取当前集合的迭代器,可以进行元素的迭代/遍历/访问
其中Iterator是来自java.util包中的接口,该接口的主要方法有:
boolean hasNext() - 用于判断当前集合中是否拥有可以访问的元素。
E next() - 用于获取一个元素并指向下一个位置。
void remove() - 用于从集合中删除刚刚迭代的最后一个元素。
注意:
当使用迭代器访问集合中的元素时,不允许使用集合中的remove()方法进行元素的删除操作,若进行该操作会引发ConcurrentModificationException并发修改异常,应该使用迭代器自己的remove()方法进行删除。
1.3 增强版的for循环(for each结构 推荐)
(1)语法格式
for(元素类型 变量名 : 集合/数组名称){
循环体;
}
(2)执行流程
首先声明一个变量,然后不断地从集合/数组中取出一个元素赋值给变量,直到处理完毕所有元素为止。
总结:
访问Set集合中所有元素的方式有3种:toString()、迭代器、增强版for循环。
访问List集合中所有元素的方式有4种:toString()、迭代器、增强版for循环、get()方法
练习:
准备一个List集合放入数据11 22 33 44 55,然后采用上述4种方式打印所有元素。
1.4 TreeSet类
(1)什么是二叉树?
二叉树就是指最多有两个分叉的树形结构,换句话说,二叉树是指每个节点最多只有两个子节点的树形结构。
(2)什么是有序二叉树?
满足以下3个条件的二叉树叫做有序二叉树:
a.左子树中的任意节点元素值都小于根节点;
b.右子树中的任意节点元素值都大于根节点;
c.左子树和右子树的内部也要遵循上述规则;
(3)使用方式
当放入元素到TreeSet对象时,需要指定元素之间比较大小的规则,具体方式如下:
a.使用元素的自然排序进行处理,让元素类型实现java.lang.Comparable<T>接口;
b.使用创建Set集合时传入的比较器对象处理,实现java.util.Comparator<T>接口;
1.5 常用的工具类
java.util.Arrays类中提供了大量用于操作数组元素的静态方法。
java.util.Collections类中提供了大量用于操作集合元素的静态方法。
2.Map集合(重点)
2.1 基本概念
java.util.Map<K,V>接口主要用于描述单对元素的集合,具体要求如下:
K - 此映射所维护的键的类型
V - 映射值的类型
该集合中要求key不允许重复,每个key对应一个value。
该集合的主要实现类:HashMap类 和 TreeMap类。
2.2 常用的方法
V put(K key, V value) - 用于将参数指定key和参数指定的value组成一对放入当前集合
- 若当前集合中不存在key,则表示增加的功能,返回null。
- 若当前集合中存在key,则表示修改的功能,返回之前的旧值。
boolean containsKey(Object key)
- 用于判断当前集合中是否包含参数指定的key。
boolean containsValue(Object value)
- 用于判断当前集合中是否包含参数指定的value。
V get(Object key)
- 用于根据参数指定的key返回对应的value,若key不存在则返回null。
V remove(Object key)
- 用于根据参数指定的key来删除该对元素,返回被删除元素的value。
(1)Set集合 (2)Map集合 (3)异常机制的更多相关文章
- Java常用的几种集合, Map集合,Set集合,List集合
Java中 Object是所有类的根 Java集合常用的集合List集合.Set集合.Map集合 Map接口常用的一些方法 size() 获取集合中名值对的数量 put(key k, value v ...
- java学习笔记—集合之Map集合
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 12.0px Times } p.p2 { margin: 0.0p ...
- java集合(List集合与Map集合的数据转换)
List集合与Map集合的数据转换 实现List和Map数据的转换. 具体要求如下: 功能1:定义方法public void listToMap( ){ }将List中Student元素封装到Map中 ...
- 红黑树规则,TreeSet原理,HashSet特点,什么是哈希值,HashSet底层原理,Map集合特点,Map集合遍历方法
==学习目标== 1.能够了解红黑树 2.能够掌握HashSet集合的特点以及使用(特点以及使用,哈希表数据结构) 3.能够掌握Map集合的特点以及使用(特点,常见方法,Map集合的遍历) 4.能够掌 ...
- java集合 之 Map集合
Map用于保存具有映射关系的数据,具有两组值:一组用于保存Map中的key:另一组用于保存Map中的value,形成key-value的存储形式. Map集合中包含的一些方法: void clear( ...
- Collection集合与Map集合的知识点梳理
在Java中集合分为单列集合(Collection)与双列集合(Map),本文主要对两种集合的常用实现类作一介绍,如果有不足,恳请指教更正. 1.前言 说到集合肯定要介绍下集合的概念与特点:集合是一个 ...
- Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值
1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对 思路: A: 获取所有结婚证的集合 B: 遍历结婚证的集合,得到每一个结婚证 C: 根据结婚证获取丈夫和妻子 转换: A: ...
- Java基础知识强化之集合框架笔记52:Map集合之Map集合的遍历 键找值
1. Map集合的遍历 Map -- 夫妻对 思路: A:把所有的丈夫给集中起来. B:遍历丈夫的集合,获取得到每一个丈夫. C:让丈夫去找自己的妻子. 转换: A:获取所有的键 B:遍 ...
- Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试
1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是 ...
随机推荐
- Golang panic用法
Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱.因为开发者很容易滥用异常, ...
- dll(动态链接库)的编写
很可能有人会困惑dll究竟是什么,又改如何编写dll呢?今天,我就记录下编写以及调用动态链接库的步骤吧. 1.启动visuanl 6.0,新建工程 dll,如上图 2.在Source File中新建一 ...
- webpack 项目实践
1,必要的环境 node 环境 下载地址(http://nodejs.cn/) npm 貌似 下载地址(https://www.npmjs.com/)不过,貌似 Node 安装可自带 npm. 2, ...
- 中国移动CMPP协议错误码
中国移动CMPP协议错误码 状态码 说明 出现次数高 DELIVRD 消息发送成功 用户成功接收到短信 REJECTD 消息因为某些原因被拒绝不 ...
- Windows应用程序对键盘与鼠标的响应
编写程序: 设计一个窗口, 当单击鼠标左键时, 窗口中显示"LEFT BUTTON"; 当单击鼠标右键时, 窗口中显示"RIGHT BUTTON"; 当单击 ...
- Spring Boot的快速创建
一.利用向导快速搭建Spring Boot应用 创建一个controller package com.hoje.springboot.Controller; import org.springfram ...
- Android开发之旅5:应用程序基础及组件
引言 上篇Android开发之旅:应用程序基础及组件介绍了应用程序的基础知识及Android的四个组件,本篇将介绍如何激活组关闭组件等.本文的主题如下: 1.激活组件:意图(Intents) 1.1. ...
- POJ3126(KB1-F BFS)
Prime Path Description The ministers of the cabinet were quite upset by the message from the Chief ...
- 【代码笔记】iOS-左右可滑动的选择条
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...
- JS 中的布尔运算符 && 和 ||
布尔运算符 && 和 ||的返回结果不一定是布尔值!由此来展开一定的研究及理解. 1.首先先介绍下常见的数据类型转化为bool后的值. (常用地方)在if表达式中,javascript ...