*本文是最近学习到的知识的记录以及分享,算不上原创。

*参考文献见链接。

目录

  集合框架

  Collection接口

  Map接口

  集合的工具类

这篇文章只大致回顾一下Java的总体框架。

集合框架

https://www.cnblogs.com/skywang12345/p/3308498.html

我们首先综合性地看一下Java的集合框架,如下图:

Java的集合框架中主要包括三个部分:

(1)Collection接口

(2)Map接口

(3)工具类包括:Iterator, Enumeration and Arrays, Collections

1. Collection接口

Collection接口主要包括两个子接口:List和Set。

个人认为,Collection的各个子接口或者子接口的各个实现类,它们的区别实际上是由于元素存储的数据结构不同所导致的,每种数据结构各自有自己的优缺点,适用于不同的情况。所以Collection之所以拥有众多的实现类,也是为了满足用户在不同情况下的需要,使得用户可以根据自己不同的开发需求使用不同的子接口下的实现类。

List接口特征是:

(1)有序:保证元素存取的顺序

(2)带有索引:可以通过索引对元素进行精确定位并操作,如查询、增加、删除、遍历等。

(3)允许重复:允许存储重复的元素。

List接口的实现类主要有ArrayList, LinkedList, Vector。

Set接口特征是:

(1)不允许重复:元素是唯一的。

Set接口的实现类主要有HashSet, LinkedHashSet, TreeSet。其中HashSet不能保证元素存取的顺序。

2. Map接口

首先回忆一下hashCode,每个Object对象都有一个hashCode,每个对象具有唯一的hashCode,但不同的对象可能生成相同的hashCode。所以对象与hashCode之间构成了多对一的映射关系。

Map就是一个映射接口,即key-value键值对,Map的每一个元素存储的是一个key及其对应的(多个)value。每个value与key构成多对一的映射关系。

3. 工具类

工具类中包括了Iterator, Enumeration和Arrays, Collections。

Iterator是一个用于遍历集合的工具,Enumeration也是一个用于遍历集合的工具,不过仅能在HashSet, Vector, Stack中使用。

Arrays是操作数组的工具类,Collections是操作集合的工具类。

参考文献

https://www.cnblogs.com/skywang12345/p/3308498.html

Java基础知识:集合框架的更多相关文章

  1. Java基础--说集合框架

    版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...

  2. Java基础知识➣集合整理(三)

    概述 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个层次. 实现(类) ...

  3. Java基础知识--集合

    集合类 数组和集合的比较:数组可以存储对象,也可以存储基本数据类型,但是缺点就是长度固定,不能改变:集合长度是可变的,但是集合只能存储对象,集合可以存储不同类型的对象. Java容器类库一共有两种主要 ...

  4. 黑马程序员——【Java基础】——集合框架

    ---------- android培训.java培训.期待与您交流! ---------- 一.集合框架概述 (一)集合框架中集合类关系简化图 (二)为什么出现集合类? 面向对象语言对事物的体现都是 ...

  5. java基础37 集合框架工具类Collections和数组操作工具类Arrays

    一.集合框架工具类:Collections 1.1.Collections类的特点 该工具类中所有的方法都是静态的 1.2.Collections类的常用方法 binarySearch(List< ...

  6. Thinking in java基础之集合框架(转载)

    集合简介(容器)把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成一个东西(一个对象),然后我们借用袋子把这20个苹果装起来,而这个袋子就是集合(也叫 ...

  7. Java基础之集合框架(Collection接口和List接口)

    首先我们说说集合有什么作用. 一.集合的作用 1.在类的内部,对数据进行组织: 2.简单而快速的搜索大数量的条目: 3.有的集合接口,提供一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关 ...

  8. java基础之集合框架

    6.集合框架: (1)为什么出现集合类? 面向对象对事物的体现都是以对象的形式,为了方便对多个对象的操作,就对对象进行存储. 集合就是存储对象最常用的一种方式. (2)数组和集合都是容器,两者有何不同 ...

  9. Java基础之集合框架——使用堆栈Stack<>对象模拟发牌(TryDeal)

    控制台程序. public enum Rank { TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, A ...

  10. Java基础之集合框架——使用集合Vector<>挑选演员(TryVector)

    控制台程序. public class Person implements Comparable<Person> { // Constructor public Person(String ...

随机推荐

  1. Retrofit实现Delete请求

    //设置取消关注 @Headers("Content-Type:application/x-www-form-urlencoded") @HTTP(method = "D ...

  2. TDH-search常用命令

    一.指令部分:1.search管理界面地址: http://172.20.230.110:9200/_plugin/head/ 2.集群状态查看命令: curl -XGET 'localhost:92 ...

  3. vue中的number

    今天在vue文档中看到有number这样一个修饰符 觉得挺方便的就尝试了一下下面是代码 <body> <div id="box"> <input ty ...

  4. python简单脚本-sql字符提取

    a="""dr.GetStr("kh"), dr.GetStr("xm"), dr.GetStr("xh"), ...

  5. Android recyclerview 只显示一行 宽度不适配

    最近学习recyclerview 遇到的问题 1.宽度不适配 正确写法 LayoutInflater.from(context).inflate(R.layout.item_view,parent,f ...

  6. iOS之核心动画

    .将动画的所有方法封装到一个类里面 MyCAHelper.h #import <Foundation/Foundation.h> #import <QuartzCore/Quartz ...

  7. LookAround开元之旅(持续更新中...)

    应用介绍随便瞧瞧是一款为android用户量身定做的免费图文资讯软件集美食,文学,语录等频道于一体界面简洁,操作流畅,图文分享,个性收藏是广大卓粉的必备神器APK下载 -->https://ra ...

  8. 项目在cocos 2.23移植到cocos 3.1.0所出现的bug

    在建项目时一定要注意选择源代码!而不是预编译库 "extensions/ExtensionMacros.h”: No such file 项目右键-属性-配置属性-c/c++ - 常规-附加 ...

  9. 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} 解决方法

    Tomcat启动时出现红色警告内容 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'sour ...

  10. 重置Mysql的root密码及用户权限设置

     一.重置Mysql的root密码 方法一: 直接进入localhost/phpmyadmin修改用户root的权限,设置密码: 方法二: 进入mysql控制台:mysql->use mysql ...