(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 如果键不是 ...
随机推荐
- json对象按时间排序
//正序var data = {"rows": [{"name": "张三","time": "2011/4/ ...
- 动态创建table表格页面出现undefined原因以及修改
源代码: var html: if(lists) { html += '<a href="https://www.4001149114.com/NLJJ/member/sharecel ...
- iOS开发消息推送原理
转载自:http://www.cnblogs.com/cdts_change/p/3240893.html 一.消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图1-1: 1.Prov ...
- java性能监控工具jstat
jstat Monitors Java Virtual Machine (JVM) statistics. This command is experimental and unsupported. ...
- [转]linux文件批量转码
linux系统里提供的文件转化编码的命令iconv,例如: iconv -t utf- -f gb2312 -c test.xml > text_UTF8.xml -f 源编码-t 目标编码 ...
- hdu 2612
Find a way Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- c#+arcAE对图层进行各种渲染操作
转载:http://blog.sina.com.cn/s/blog_6023833e0100t5t0.html using System;using System.Collections.Generi ...
- 新浪微博开放平台账号申请(基于dcloud开发)
注意事项: 1.新浪微博不仅需要appkey和appsecret,而且还需要回调的url,这个链接是可以随便写的,但是需要和在开放平台申请的一致. 2. Android签名包信息部分 (1.)首先安卓 ...
- [HNOI2004]宠物收养场
fhq treap 开俩哨兵节点,然后插入.删除.前驱.后继,统计即可 #include"cstdio" #include"cstring" #include& ...
- vue-cli中的webpack配置
编辑模式下显示正常,打开的时候不知道为啥排版有问题.segementfalut链接在这里 版本号 vue-cli 2.8.1 (终端通过vue -V 可查看) vue 2.2.2 webpack 2. ...