范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

大数据编程入门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时构造一个同步列表,例如:
  List list=Collections.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集合框架的全部内容了,希望这篇文章能够帮助到大家~

面试问了解Linux内存管理吗?10张图给你安排的明明白白!今天来带大家研究一下Linux内存管理。对于精通CURD的业务同学,内存管理好像离我们很远,但这个知识点虽然冷门(估计很多人学完根本就没机会用上)但绝对是基础中的基础,这就像武侠中用asp。netcore结合fastdfs打造分布式文件存储系统今天主要是对开发过程,以及对FastDFS这个通用的分布式文件存储服务的单机及集群安装部署过程做个总结。希望对想要自建分布式文件系统的朋友有所帮助。什么是FastDFS这里先简单介解析一下阿里出品的泰山版Java开发手册部分来源httpsjuejin。impost5ea632656fb9a03c4237b95e说起华山,我就想起岳不群,不,令狐冲说起泰山,我就想起司马迁,他的那句名言人总有一死,或Netty底层源码实战丨阿里P7架构师告诉你Netty为什么这么快!在分布式系统被广泛应用的今天,服务有可能分布在网络中的各个节点中。因此,服务之间的调用对分布式系统来说,就显得尤为重要。netty的高性能总结netty的高性能架构之道Netty权同步异步多线程这三者关系,你能给面试官一个满意的回答吗?前几天一位朋友去面试,面试官问了他同步,异步,多线程之间是什么关系,异步比同步高效在哪?多线程比单线程高效在哪?由于回答的不好,让我帮他捋一下,其实回答这个问题不难,难就难在只对别C盘不够用?Windows11这些改进了解一下微软已宣布将于2021年10月5日正式推出下一代Windows11操作系统,自从6月面世以来,大家一直都很关心Windows11到底怎么样?能给我带来什么样的提升呢?今天就来着重介WIFI不安全?这个设置要修改都说公共场合连接无线不安全,可是手机使用流量上网耗电太快,笔记本用流量既不方便耗费又高,如何更安全的连接公用网络呢?使用随机硬件地址当没有连接到无线网络时,手机和电脑等设备会发送信拳头基因延续VALORANT引进国服值得期待相信在游戏圈子里英雄联盟是公认的经典PC游戏10年过去了它的热度经久不衰仍然是全球最受欢迎的PC游戏之一这都离不开拳头公司的长期更新与用心运营而拳头凭借着这份积累十年的资深理解与开国庆小长假马上来啦!选对装备,宅家旅行都Happy哈喽各位亲耐滴小可爱们激动的心,颤抖的手国庆假期马上就要来啦炒鸡激动有木有!不管你是想宅在家里打游戏还是趁着假期外出旅行只要选对了装备都能收获一个超Happy的假期哦今天小R也给大阿里P8架构师指南SpringCloud微服务权限系统源码分享基于SpringCloudHoxton。RELEASESpringCloudOAuth2SpringCloudAlibabaElement微服务权限系统,开箱即用。源码地址获取关注漫画CAS原理分析!无锁原子类也能解决并发问题在漫画并发编程系统博文中,我们讲了N篇关于锁的知识,确实,锁是解决并发问题的万能钥匙,可是并发问题只有锁能解决吗?今天要出场一个大BOSSCAS无锁算法,可谓是并发编程核心中的核心
怀旧捡垃圾系列E3的荣光!2021年,E31230V2还能再战吗?Hello大家好我是尤娜,硬件数码爱好者一只。日常看我测笔记本多,其实我更爱折腾垃圾。说起E3神教,那可真是大名鼎鼎。甚至可以说在垃圾佬群体里,E3神教还是处于diss链下层的因为柴犬币从高点大幅回落马斯克说没买过特斯拉CEO马斯克发推特晒他的新宠物狗Floki,推动柴犬币(ShibaInu)价格一路飙升,过去30天上涨逾400,在周末达到创纪录高点,成为全球市值第11大的加密货币。但在马斯努比亚Z40Pro进入试产期,首批骁龙898,升级161TB其实现在的国产阵营呈现出百花齐放的局面,虽然主要的销量是被小米OV荣耀这些品牌占据,但也有很多销量不好的品牌还在努力经营着手机业务,他们的手机品质也确实很不错,很多内行人反而更愿意降噪与无线会碰撞出什么火花?BowersampampampWilkins宝华韦健PX7试听什么样的耳机才是当前青年人最需要的?回答这个问题之前一定要了解多数青年人都在什么场景会用到耳机。忙碌的工作生活已经让疲于奔命的我们少了许多的消遣时间,但热爱音乐的青年人始终会寻找到科技进步,将来手机存在的一面我是华为的小粉丝。mate10mate20promate30Promatepadpromatebookxprowatch2watchGT2huaweiRGlass,这是我使用过和正便宜大碗还好声xDuoo乂度双11HiFi攻略提起xDuoo乂度(乂读音y),很自然而然地就会跟创立之初的小米给划上等号,它家产品总是披着一身相当理性沉稳的灰色金属外衣,方正的机身造型给人一种朴钢的质感。无论是便携产品还是台机苹果的nfc功能怎么用?现在的iPhone只支持北京和上海的交通卡不过也没有关系,如果你的城市公交车支持云闪付或者银联卡(带闪付字样)乘公交车,那么你的苹果手机NFC就起到作用了。首先在iPhone上添加保鲜功能最好的冰箱有哪些?现在人们对冰箱能够保鲜的态度肯定和以前不一样了,以前只是崇尚食材保持更久不坏就可以了,并不在意口感和影响,而如今,就拿我家来说,反而更注意食材在不流失营养的前提下能保存多久,这就触短视频用什么软件剪辑?剪映和快影都很好用,很容易上手。另外还有一款app也很好soloop即录一键制作视频。一般都用剪映这个软件。这个软件真的很好用。手机推荐Inshot剪影,新手也能轻易上路电脑推荐P全国已有104家网站和APP初步完成适老化改造适老APP,更多也更好用了用微信聊天看新闻,在拼多多上购物,通过支付宝买车票交电费山西太原62岁的夏阿姨表示,自己的生活已经彻底数字化。而令她高兴的是,常用的APP经过改造后,对老年人更友好了。第七次全国人让区块链技术在经济社会发展中发挥更大作用(创新故事)来源人民网累计交易量超过2万亿元,接口调用总量超亿次,累计为中小企业授信5000亿元望着大屏幕上不断跳动的数字,浙江数秦科技有限公司(以下简称数秦科技)首席执行官俞学劢喜形于色。融