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

*参考文献见链接。

目录

  集合框架

  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. 洛谷 P4174 [NOI2006]最大获利 && 洛谷 P2762 太空飞行计划问题 (最大权闭合子图 && 最小割输出任意一组方案)

    https://www.luogu.org/problemnew/show/P4174 最大权闭合子图的模板 每个通讯站建一个点,点权为-Pi:每个用户建一个点,点权为Ci,分别向Ai和Bi对应的点连 ...

  2. centos6.7版本下配置ssh密钥登录

    需要提前说明的是我使用的系统是centos6.7的版本. 1.我使用的是Putty登录 #ssh-keygen (生成公钥和私钥的命令) 回车之后会提示密钥要存放的目录,默认的目录是当前目录下的.ss ...

  3. 543 Diameter of Binary Tree 二叉树的直径

    给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过根结点.示例 :给定二叉树          1         / \        2 ...

  4. JavaScript 获取浏览器版本

    //获取IE版本function GetIEVersions(){ var iejson={ isIE:false,safariVersion:0 }; var ua = navigator.user ...

  5. ps 进程管理

    一. 进程管理 1. pstree 2. ps 3. top 4. nice 5. free 6. screen 二. 程序与进程 程序是静态的文件,进程是动态运行的程序. 三. 进程和线程 一个程序 ...

  6. Java创建对象的过程

    Java创建对象的过程 Java是一门面向对象的编程语言,在Java程序运行过程中每时每刻都有对象被创建出来.在语言层面上,创建对象通常仅仅是一个new关键字而已,而在虚拟机中,对象的创建又是怎样一个 ...

  7. ios UITableView顶部向下偏移

    //设置向下偏移20[self.tableView setContentInset:UIEdgeInsetsMake(20,0,0,0)];

  8. 导入maven的java web项目运行报错找不到Spring监听器

    本地成功运行的一个maven项目,在另一台机器复制下来并导入,运行时报错: java.lang.ClassNotFoundException: org.springframework.web.cont ...

  9. java.lang.IllegalAccessException: Class XX can not access a member of class XXX with modifiers "private static"

    当前需求: 利用反射获取某一属性值运行结果:java.lang.IllegalAccessException: Class com.example.demo.test.Reflect can not ...

  10. Exoplanet: The hunt is on

    原文 How many planets are out there? Today scientists believe that planets could outnumber the stars.F ...