Java基础知识:集合框架
*本文是最近学习到的知识的记录以及分享,算不上原创。
*参考文献见链接。
目录
集合框架
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基础知识:集合框架的更多相关文章
- Java基础--说集合框架
版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...
- Java基础知识➣集合整理(三)
概述 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个层次. 实现(类) ...
- Java基础知识--集合
集合类 数组和集合的比较:数组可以存储对象,也可以存储基本数据类型,但是缺点就是长度固定,不能改变:集合长度是可变的,但是集合只能存储对象,集合可以存储不同类型的对象. Java容器类库一共有两种主要 ...
- 黑马程序员——【Java基础】——集合框架
---------- android培训.java培训.期待与您交流! ---------- 一.集合框架概述 (一)集合框架中集合类关系简化图 (二)为什么出现集合类? 面向对象语言对事物的体现都是 ...
- java基础37 集合框架工具类Collections和数组操作工具类Arrays
一.集合框架工具类:Collections 1.1.Collections类的特点 该工具类中所有的方法都是静态的 1.2.Collections类的常用方法 binarySearch(List< ...
- Thinking in java基础之集合框架(转载)
集合简介(容器)把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成一个东西(一个对象),然后我们借用袋子把这20个苹果装起来,而这个袋子就是集合(也叫 ...
- Java基础之集合框架(Collection接口和List接口)
首先我们说说集合有什么作用. 一.集合的作用 1.在类的内部,对数据进行组织: 2.简单而快速的搜索大数量的条目: 3.有的集合接口,提供一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关 ...
- java基础之集合框架
6.集合框架: (1)为什么出现集合类? 面向对象对事物的体现都是以对象的形式,为了方便对多个对象的操作,就对对象进行存储. 集合就是存储对象最常用的一种方式. (2)数组和集合都是容器,两者有何不同 ...
- Java基础之集合框架——使用堆栈Stack<>对象模拟发牌(TryDeal)
控制台程序. public enum Rank { TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, A ...
- Java基础之集合框架——使用集合Vector<>挑选演员(TryVector)
控制台程序. public class Person implements Comparable<Person> { // Constructor public Person(String ...
随机推荐
- linux系统下安装Git
Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.而国外的GitHub和国内的Coding都是项目的托管平台.Git 是 Linus Tor ...
- Java EE学习笔记(七)
MyBatis的核心配置 1.MyBatis的核心对象 1).SqlSessionFactory是MyBatis框架中十分重要的对象,它是单个数据库映射关系经过编译后的内存镜像,其主要作用是创建Sql ...
- Ubuntu-通过v2版本的rancher安装部署k8s
环境: ubuntu:16.04+(64位) CPU:2C MEM:>4G docker:17.03.2 1.13.1 1.12.6 基础配置:(若是云服务器,下列只需要放行端口) >&g ...
- dp考试
a[问题描述]
- spark常用参数
val conf = new SparkConf().setAppName("WordCount_groupBy").setMaster("local") // ...
- IOS拉伸之底盖设置
1.选定拉伸 UIImageView *fieldImage=[[UIImageViewalloc]initWithFrame:CGRectMake(37,48+35,240, 32)]; field ...
- 通过 Azure IoT 中心实现互联网设备数据的可视化分析
本课程主要介绍了如何 在Azure 平台上借助 Azure IoT 中心, Azure 流分析,Web 应用, Azure 数据库等服务快速构建收集处理并可视化来自设备的数据流的应用, 包括项目背景介 ...
- selenium-Python之鼠标事件
通过click()来模拟鼠标的单击操作,鼠标还具有鼠标右击,双击,悬停甚至鼠标拖动等功能.在webdriver中,将这些鼠标操作方法封装在ActionChains类提供. ActionChains类提 ...
- Bootstrap 入门到精通
介绍 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷.Bootstr ...
- ActiveAndroid问题no such table解决总结
android.database.sqlite.SQLiteException: no such table at android.database.sqlite.SQLiteConnection ...