`
929118967
  • 浏览: 20251 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
博客专栏
Fcebf22e-9505-38db-b3f2-65fdcc3fd6a5
java开发的深入浅出
浏览量:6907
文章分类
社区版块
存档分类
最新评论

java笔记之集合

阅读更多

前言

集合在数学意义上的概念是,对个数据放置在一起而建立起来的模型,这些数据类型可以不同;
在软件中的定义,一堆数据放置在一个空间中存储,将整个存储空间称为集合。
本文主要介绍collection接口下的List接口和Set接口,以及迭代器Iterator。

正文

Collection接口

1.Collection 层次结构 中的根接口。
JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 SetList)实现。
2.collection的主要子接口和实现类:

3.Collection的常用API:

List接口

list接口的实现类:
ArrayList和LinkedList

1.ArrayList

1)特性
1))是顺序表,方便查找
2))每次扩容,集合的长度在原来长度上增加一半。
3))集合默认的空间为10.
4))原理:变长的数组
5))ArrayList 是非线程安全的
6))在集合的遍历过程中,不能使用ArrayList本身的方法删除和添加元素。
除非通过迭代器自身的 remove 或 add 方法从结构上对列表进行修改,否则在任何时间以任何方式对列表进行修改,迭代器都会抛出 ConcurrentModificationException
7))ArrayList 的常用API:

2.LinkedList

LinkedList的特点
1.底层使用List 接口的链接列表实现。方便删除和插入。
2.默认长度为0.
3.LinkedList是非线程安全的。
4.在集合的遍历过程中,不能使用ArrayList本身的方法删除和添加元素。
除非通过迭代器自身的 remove 或 add 方法从结构上对列表进行修改,否则在任何时间以任何方式对列表进行修改,迭代器都会抛出 ConcurrentModificationException

迭代器

迭代器的特点

1.Iterator接口,本身是一种快速遍历集合的算法。
2.集合可以调用iterator方法获取迭代器。
3.迭代器是一个带有游标的线性表,用来记录结合的元素的地址。
4.迭代器与集合的关系草图:

1)相关代码片
<script src="https://code.csdn.net/snippets/275521.js" type="text/javascript"></script>
2)对应的草图


5.Iterator的常用API:

补充:List的实现类 Vector

Vector,Vector 类可以实现可增长的对象数组。
Vector的特性
1.顺序表,方便查找
2.每次扩容在原长度上增加一倍。
3.默认大小为10
4.Vector是线程安全。

Set接口

特点类似于数学集合,无顺序,不可重复,与List的特点相反。他只能有一个null值。
在这里讲讲他的实现类:HashSet,和TreeSet。

HashSet

基于哈希表的 Map 接口的实现.
特点
1.采用hash算法的Set,相当于hashMap的Key
2.默认的扔了为16,加载因子75%。
3.HashSet非线程安全。
4.内部原理:HashMap的key.
5.此实现不是同步的。
6.在集合的遍历过程中,不能使用ArrayList本身的方法删除和添加元素。
除非通过迭代器自身的 remove 或 add 方法从结构上对列表进行修改,否则在任何时间以任何方式对列表进行修改,迭代器都会抛出 ConcurrentModificationException
常用的API:

TreeSet

特点:
1.默认的空间为0
2.采用二叉树算法实现的
3.原理为TreeMap的Key
4.在集合的遍历过程中,不能使用ArrayList本身的方法删除和添加元素。
除非通过迭代器自身的 remove 或 add 方法从结构上对列表进行修改,否则在任何时间以任何方式对列表进行修改,迭代器都会抛出 ConcurrentModificationException
5.按照自然排序存放元素

总结

分享到:
评论

相关推荐

    java 集合部分笔记

    java 集合部分笔记 1 集合的概述 2 Collection接口和Iterator接口(迭代器) 3 List接口 4 Set接口 5 Map接口

    java集合框架笔记

    List set ArraryList Map java集合框架笔记 基于Array的List,其实就是封装了Array所不具备的一些功能方便我们使用

    java笔记整理(超详细) java笔记整理(超详细)

    Java集合可以分为Collection和Map两种体系: Collection接口: ​ List:元素有序,可重复的集合 ​ ArrayList: 底层数组实现,有利于随机访问get ​ LinkedList:底层是链表,有利于频繁的插入、删除操作(ArrayList删除和...

    java集合类学习笔记.doc

    java集合类学习笔记.doc 学习java集合时留下的宝贵知识

    java笔记--集合类

    自己收集的java编程笔记,关于集合类的知识,很有用

    java笔记.zip

    2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 枚举类 2020-4-10 java 注解(Annotation) 2020-4-11 ...

    集合框架学习笔记

    集合框架学习笔记 https://mp.csdn.net/mdeditor/88970781#

    Java集合框架学习笔记

    学习Java集合框架的讲义、笔记,希望大家多提意见。时间关系没有Collections,Arrays的内容,以后补上!

    Java基础笔记之集合框架和泛型

    详细的介绍了集合框架的用法,及其语法规则,剖析了使用的使用注意事项,帮助更牢靠的掌握集合框架的知识及泛型内容。谢谢

    暑假培训学习笔记之java循环遍历集合

    暑假培训学习笔记之java循环遍历集合暑假培训学习笔记之java循环遍历集合

    java学习笔记 传智博客java笔记

    详细的描述了java的基本知识,配合看java视频更好了。 笔记中有集合,泛型,线程,的详细案例,还有java.net的资料

    Java笔记-集合与算法

    笔记: 集合接口、 集合实现(链表、数组列表、散列集、树集、队列与双端队列、映射表)、 集合与数组之间的转换、 算法(排序、二分查找)。

    java编程基础笔记(集合)

    java基础学习笔记,有关collection和map的。

    java笔记集合

    这里面包含很多以前学习java做的笔记,从java基础到框架,框架整合 ,jdbc,数据库连接,Servlet,jsp等之类的,非常适合初学者下载,学习java当中可以走少很多弯路。

    【Java基础笔记】集合.docx

    【Java基础笔记】集合.docx

    java学习笔记之集合详细

    本人在学习Java视频的过程中整理总结的集合部分的内容,比较详细,有比较重要的代码。

    一眼看懂Java中的集合

    此篇文章是学习Java中的集合时自己总结的笔记,主要记录了集合的底层原理、List、Set、Queue等集合的特点、集合的实现类的特点以及各个实现类底层是原理。

    达内Java培训-CoreJava全程笔记(WORD唐亮版)

    CoreJava DAY12 集合 List 40 CoreJava DAY13 集合 Set 46 CoreJava DAY14 集合 Map 49 CoreJava DAY15 异常、断言 52 CoreJava DAY16 反射、注释 57 CoreJava DAY17 GUI 64 CoreJava DAY18 awt event 81 CoreJava ...

    狂神说Java笔记资料

    狂神说Java笔记PDF文档。内容包括JAVA入门、基础语法、流程控制、方法、数组、面向对象、异常机制、常用类、集合框架、IO流、多线程、网络编程、Gui编程、注解和反射。

    java中的集合笔记.rar

    java中的集合笔记.rar

Global site tag (gtag.js) - Google Analytics