大数据编程入门Java集合框架
在Java里面有一些特设类,非常有用,但它们缺少一个核心,统一的主体,于是需要一个符合要求的集合框架,今天小编将为大家带来了大数据编程入门:Java集合框架。
一、Java集合框架的概念
Java集合框架是为表示和操作集合而规定的一种统一的标准的体系结构,任何集合框架都包含三个部分:对外的接口、接口的实现和对集合运算的算法。
接口:是表示集合的抽象数据类型。例如Collection、List、Set、Map等,定义了多个接口以不同的方式操作collection对象
实现(类):它是采集接口的具体实现。本质上,它们是可重用的数据结构,如ArrayList、LinkedList、HashSet和HashMap。
算法:由实现集合接口的对象中的方法执行的一些有用的计算,例如搜索和排序,这些算法被称为多态算法,因为相同的方法可以在相似的接口上以不同的方式实现。
除了集合之外,该框架还定义了几个Map接口和类。Map存储键值对。虽然Map不是集合,但它们完全集成在集合中。
以下是集合框架体系:
Java集合框架提供了一组性能优异、易于使用的接口和类。Java集合框架位于Jjava。util包中,因此在使用集合框架时,需要导入该包。二、集合接口
集合框架定义了一些接口,本节概述了每个接口:
接口
描述
Collection接口Collection是最基本的集合接口,一个Collection表示一组Object,即集合的元素。Java不提供直接从Collection继承的类,而只提供从集合继承的子接口(如List和Set)。
集合接口存储一组非唯一、无序的对象。
List接口List接口是一个有序的Collection,使用此界面,可以精确控制每个元素的插入位置。可以通过索引(元素在List中的位置,类似于数组的下标)访问List中的元素。第一个元素的索引为0,并且允许相同的元素。
列表接口存储一组非唯一的有序(插入顺序)对象。
SetSet与Collection具有相同的接口,但其行为不同,Set不保存重复的元素。
Set接口存储一组唯一的、无序的对象。
SortedSet
从Set继承以保存有序集合。
Map
Map接口存储一组键值对象,提供key(键)到value(值)的映射。
Map。Entry
描述在一个Map中的一个元素(键值对),是一个Map的内部接口。
SortedMap
继承于Map,使Key保持在升序排列。
Enumeration
这是一个传统的接口和定义的方法,通过它可以枚举(一次一个)对象集合中的元素。这个传统的接口已经被迭代器所取代。
Set和List的区别
A。Set接口实例存储无序、不重复的数据。List接口实例存储有序和可重复的元素。
B。Set检索效率低,删除和插入效率高,插入和删除不会引起元素位置的改变实现类有HashSet,TreeSet。
C。List类似于数组,可以根据实际存储数据的长度动态自动增长。查找元素的效率高,插入和删除元素的效率低,因为这会导致其他元素的位置变化实现类有ArrayList,LinkedList,Vector。三、集合实现类(集合类)
Java提供了一组实现Collection接口的标准集合类。其中一些是可以直接使用的具体类,而另一些是提供部分接口实现的抽象类。
标准集合类汇总于下表:
类
描述
AbstractCollection
大多数集合接口都是实现的。
AbstractList
从AbstractCollection继承并实现大多数List接口。
AbstractSequentialList
它继承自AbstractList,提供对数据元素的链式访问,而不是随机访问。
LinkedList这个类实现了List接口并允许null(空)元素。它主要用于创建链表数据结构,此类没有同步方法,如果多个线程同时访问一个List,那么它们必须自己实现访问同步。解决方案是在创建List时构造一个同步列表,例如:
ListlistCollections。synchronizedList(newLinkedList(。。。));
LinkedList查找效率低。
ArrayList
该类还实现了List接口,实现了可变大小数组,在随机访问和遍历元素时提供了更好的性能。这个类也是异步的,不应该在多线程的情况下使用。ArrayList按当前长度的50增长,插入和删除效率低下。
AbstractSet
从AbstractCollection继承并实现大多数Set接口。
HashSet
此类实现Set接口,不允许重复元素,不保证集合中元素的顺序,并且允许null元素,但只允许一个。
LinkedHashSet
具有可预测迭代顺序的set接口的哈希表和链表实现。
TreeSet
该类实现了Set接口,可以实现排序等功能。
AbstractMap
实现了大部分的Map接口。
HashMapHashMap是一个哈希表,用于存储键值映射。
该类实现Map接口,根据密钥的HashCode值存储数据,访问速度快,最多允许一个记录密钥为空,不支持线程同步。
TreeMap
继承了AbstractMap,并且使用一棵树。
WeakHashMap
继承AbstractMap类,使用弱密钥的哈希表。
LinkedHashMap
继承于HashMap,使用元素的自然顺序对元素进行排序。
IdentityHashMap
继承AbstractMap类,比较文档时使用引用相等。
以下是java。util包中定义的类描述:
类
描述
Vector
这个类与ArrayList非常相似,但它是同步的,可以在多线程的情况下使用。这个类允许设置默认的增长长度,默认的扩展方法是原来的两倍。
Stack
栈是Vector的一个子类,它实现了一个标准的后进先出的栈。
Dictionary
Dictionary类是一个抽象类,用来存储键值对,作用和Map类相似。
Hashtable
Hashtable是Dictionary(字典)类的子类,位于java。util包中。
Properties
Properties继承于Hashtable,表示一个持久的属性集,属性列表中每个键及其对应值都是一个字符串。
BitSet
一个Bitset类创建一种特殊类型的数组来保存位值。BitSet中数组大小会随需要增加。四、集合算法
集合框架定义了几种可用于集合和映射的算法,这些算法被定义为集合类的静态方法。
通常,for循环或增强的for用于遍历数组。这两种方法也可以在集合框架中使用。但是,另一种方法是使用迭代器遍历集合框架,迭代器是一个对象,实现Iterator接口或Listiterator接口。
迭代器使您能够通过循环获取或删除集合的元素。Listiterator继承Iterator以允许双向遍历列表和修改元素。
1、遍历ArrayList
示例:
解析:这三种方法用于遍历ArrayList集,第三种方法是迭代器方法,这种方法不必担心在遍历过程中会超过集合的长度。
2、遍历Map
示例:
以上就是关于大数据编程入门:Java集合框架的全部内容了,希望这篇文章能够帮助到大家
你知道吗烟雾净化器烟净宝滤芯多久换一次?伊斐净宝烟净宝是广东省伊斐净化科技有限公司专门为电子焊锡烟雾处理、锡炉浸锡烟雾处理而设计的过滤系统,广泛适用于电子电器、化学实验等。效果显著,针对烟雾烟尘的净化效果可达99。9……
扶摇太妍是谁演的扶摇太妍扮演者刘颖伦资料简介及经历扶摇太妍是谁演的:扶摇太妍扮演者刘颖伦资料简介及经历近日大型古装剧《扶摇》正在热播,这部剧成为目前最看好的一部剧,热度很高,正是如此高的关注度,剧中的一些小演员也被大家熟……
奔腾年代陈凯结局是什么陈凯的扮演者是谁电视剧《奔腾年代》已经大结局了,其中这部剧中有一个不太起眼的角色陈凯,关于这个人物的结局又是什么?另外,陈凯的扮演者是谁呢?一起来了解一下。奔腾年代陈凯结局是什么在……
极限17羽你同行子豪是谁演的祝子杰出道经历及个人资料《极限17羽你同行》这部剧已经开播了,大家在剧中都注意到弟弟子豪,这个虽然不是男主角,但是演技是相当不错的。那么,极限17羽你同行子豪是谁演的?以及祝子杰出道经历及个人资料有哪……
上气男主颜值遭质疑是什么情况网友称质疑的不是颜值是心上气男主颜值质疑是什么情况?网友称质疑的不是颜值而是心。日前,上气男主颜值质疑,引起了不少网友热议,而上气电影决定开拍之后,这部剧从选角到剧情,大多数人都不见好,如今,上气男主……
创品聚焦丨关于定牌加工侵犯商标专用权的那些事2019年10月公开的一份最高人民法院民事判决书(2019)最高法民再138号,即再审申请人本田技研工业株式会社与被申请人重庆恒胜鑫泰贸易有限公司、重庆恒胜集团有限公司侵害商标……
展会预告爱威影音亮相第16届深圳音响耳机展作为华南地区极具规模和影响力的影音行业展,2021年第16届深圳音响耳机展将于10月15日17日在深圳中洲圣廷苑酒店盛大举行。爱威影音展厅在3F的沁冬厅,本次展会我们携旗下重量……
小妇人撤档是真的吗电影小妇人讲述了什么故事近日,电影《小妇人》通过官微表示,电影《小妇人》将要撤档,这是真的吗?电影《小妇人》讲述的是什么故事?电影《小妇人》都有哪些演员主演的呢?一起来看一下具体的情况。小妇人撤……
天蓬元帅猪八戒的来历天蓬元帅猪八戒干什么的天蓬元帅猪八戒的来历:天蓬元帅猪八戒干什么的天蓬元帅叫什么:说起西游记里最好吃懒做的人,大家势必会想到猪八戒。事实上,猪八戒原本不是如此不堪的模样,而是风度翩翩的将军,也……
好看的警匪电影有哪些经典十部好看的警匪影片推荐好看的警匪电影有哪些:经典十部好看的警匪影片推荐警匪题材的影视剧一直以来都很受欢迎,节奏明快,斗智斗勇斗狠,混沌的世界充斥着无奈,信任,欺骗,逃避与出卖,让人屏住呼吸的剧……
浅析家庭安装空气消毒机的必要性一、引言随着人们对美好生活的愿望越来越高,人们关注的不再仅仅只是食物安全、身体健康等问题,也逐渐关心空气质量问题。因为我们每天都必须要吸入大量的空气,而空气中又含有大量的……
前沿生物抗病毒新药的自主创新与国际化9月2527日,由中国医药创新促进会主办的2021中国医药创新与投资大会在苏州国际博览中心举办。来自中外医药行业的3500余名学者、企业家和投资者参加此次大会,围绕医药创新热点……