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)异常机制的更多相关文章

  1. Java常用的几种集合, Map集合,Set集合,List集合

    Java中  Object是所有类的根 Java集合常用的集合List集合.Set集合.Map集合 Map接口常用的一些方法 size() 获取集合中名值对的数量 put(key k, value v ...

  2. 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 ...

  3. java集合(List集合与Map集合的数据转换)

    List集合与Map集合的数据转换 实现List和Map数据的转换. 具体要求如下: 功能1:定义方法public void listToMap( ){ }将List中Student元素封装到Map中 ...

  4. 红黑树规则,TreeSet原理,HashSet特点,什么是哈希值,HashSet底层原理,Map集合特点,Map集合遍历方法

    ==学习目标== 1.能够了解红黑树 2.能够掌握HashSet集合的特点以及使用(特点以及使用,哈希表数据结构) 3.能够掌握Map集合的特点以及使用(特点,常见方法,Map集合的遍历) 4.能够掌 ...

  5. java集合 之 Map集合

    Map用于保存具有映射关系的数据,具有两组值:一组用于保存Map中的key:另一组用于保存Map中的value,形成key-value的存储形式. Map集合中包含的一些方法: void clear( ...

  6. Collection集合与Map集合的知识点梳理

    在Java中集合分为单列集合(Collection)与双列集合(Map),本文主要对两种集合的常用实现类作一介绍,如果有不足,恳请指教更正. 1.前言 说到集合肯定要介绍下集合的概念与特点:集合是一个 ...

  7. Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

    1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: ...

  8. Java基础知识强化之集合框架笔记52:Map集合之Map集合的遍历 键找值

    1. Map集合的遍历  Map -- 夫妻对 思路:  A:把所有的丈夫给集中起来.  B:遍历丈夫的集合,获取得到每一个丈夫.  C:让丈夫去找自己的妻子.  转换:  A:获取所有的键  B:遍 ...

  9. Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试

    1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是 ...

随机推荐

  1. JAVA-6NIO之FileChannel

    Java NIO中的FileChannel是一个连接到文件的通道.可以通过文件通道读写文件. FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下. 打开FileChannel 在使用F ...

  2. sql中的分页实现

    1.两种方式 1.1:row_number() over()函数 1.2:OFFSET ....FETCH OFFSET { integer_constant | offset_row_count_e ...

  3. 简单的node爬虫练手,循环中的异步转同步

    简单的node爬虫练手,循环中的异步转同步 转载:https://blog.csdn.net/qq_24504525/article/details/77856989 看到网上一些基于node做的爬虫 ...

  4. ASP.NET Url 重写

    protected void Application_BeginRequest(object sender, EventArgs e) { string url = Request.AppRelati ...

  5. MFC数据库操作

    本例采用Microsoft SQL2008建立的一个数据库表 /****链接数据库操作**/ 在stdafx.h的头文件中加入 #import "C:\Program Files\Commo ...

  6. java JDBC 数据库链接

    1.准备环境搭建: myeclipse,sql2005,jdbc. 2.都下载完之后开始进行安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证) <1> ...

  7. Java中泛型通配符的一点概念

    以List<T>为例,通常如果我们想在List中存储某种类型的数据,我们会用下面的语法进行声明和使用: List<String> allMsg = new ArrayList& ...

  8. JAVA非静态成员变量之死循环

    1.非静态成员变量 当成员变量为非静态成员变量且对当前类进行实例化时,将会产生死循环 例子: public class ConstructorCls { private ConstructorCls ...

  9. BZOJ3238: [Ahoi2013]差异(后缀自动机)

    题意 题目链接 Sol 前面的可以直接算 然后原串翻转过来,这时候变成了求任意两个前缀的最长公共后缀,显然这个值应该是\(len[lca]\),求出\(siz\)乱搞一下 #include<bi ...

  10. jQuery基础(鼠标事件,表单事件,键盘事件,自定义事件 篇)

    1.jQuery鼠标事件之click与dbclick事件   方法一:$ele.click()(不带参数)   <div id="test">点击触发<div&g ...