(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 如果键不是 ...
随机推荐
- redis实战笔记(8)-第8章 构建简单的社交网站
本章主要内容 用户和状态 主页时间线 关注者列表和正在关注列表 状态消息的发布与删除 流API
- 触摸UITextView找到该触摸点的文字
参加了一个比赛有一道题是如标题一样,在UITextView上触摸找到该触摸点对应的文字,比赛也可以查资料,当时做的时候就是抱着玩玩的心态试试也没认真做,就没查就去吃饭去了,昨晚下班回去在思考这个问题发 ...
- 详解REST架构风格
编辑推荐: 本文来自于segmentfault.com,一起了解REST的内在,认识REST的优势,而不再将它当作是“理所当然” 引言 作为Web开发者,你可能或多或少了解一些REST的知识,甚至已经 ...
- Django(三):HttpRequest和HttpResponse
当一个请求连接进来时,django会创建一个HttpRequest对象来封装和保存所有请求相关的信息,并且会根据请求路由载入匹配的视图函数.每个请求的视图函数都会返回一个HttpResponse. H ...
- 获取本地内网和外网IP地址
public class IPUtil { /// <summary> /// 获取本地内网IP /// </summary> /// <returns></ ...
- dubbo直连代码示例
我们都知道dubbo是个分布式的RPC工具,等以后有时间能力允许的话,会好好写下dubbo,当在测试环境我们联调或想指定机器执行之时,是不需要ZK这类调度工具的,当然dubbo也提供了配置的解决方案, ...
- Linux排查Java程序占用CPU很高的解决办法
Java的工具集相当强大,学习成本也很低,处理线上问题时,jstack这个工具就比微软的windbg,好学好用很多,3步找出占用CPU很高的源所在.而windbg反人类的各种命令,实在不敢恭维. 故意 ...
- CSS 相对/绝对(relative/absolute)定位系列(四)——张鑫旭
前三篇(1, 2, 3)都是介绍的absolute属性,终于,轮到本文讲讲relative相对定位. 一.relative属性的形象化思维 relative是个看上去低调,有些特殊才能,气场强大,有着 ...
- c#如何仅在datatgirdview控件的头部(列名处)添加右键菜单
近期在弄ArcgisAE实习,其中有一个功能是需要操作图层的属性字段的,为了方便操作图层的属性,最好是在图层的属性表中,也就是在显示图层属性的DataGirdView控件的头部添加一个右键菜单来实现相 ...
- UOJ#328. 【UTR #3】量子破碎
传送门 学过 \(FWT\) 看到操作 \(2\) 不难可以联想到 \(FWT\) 考虑一遍 \(\oplus\) \(FWT\) 会把 \(a_t\) 变成什么 \(a_t'=((-1)^{bitc ...