首页

文章

求大神,java的集合框架是什么意思?

发布网友 发布时间:2022-02-28 22:12

我来回答

5个回答

懂视网 时间:2022-03-01 02:33

java集合框架是为表示和操作集合而规定的一种统一的标准的体系结构,任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。

java集合框架的优点

1、减少工作量,还能增加可用性,不用每个程序员动手实现排序、查找、找出元素在数据结构中出现的次数。

2、使用核心集合类降低开发成本,而非实现我们自己的集合类。

3、通过使用JDK附带的集合类,可以降低代码维护成本。

4、java集合框架实现了Collection接口,数据结构之间是可以相互转换。

总结:

java集合框架是为表示和操作集合而规定的一种统一的标准的体系结构,任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。

热心网友 时间:2022-02-28 23:41

Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。

Java 2集合框架图

  集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。

  抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。

  实现类:8个实现类(实线表示),对接口的具体实现。

  在很大程度上,一旦您理解了接口,您就理解了框架。虽然您总要创建接口特定的实现,但访问实际集合的方法应该*在接口方法的使用上;因此,允许您更改基本的数据结构而不必改变其它代码。

  · Collection 接口是一组允许重复的对象。

  · Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。

  · List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。

  · Map接口是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。

  · 容器中的元素类型都为Object。从容器取得元素时,必须把它转换成原来的类型。

  Java 2简化集合框架图

集合接口

  1.Collection 接口

  用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。

  (1) 单元素添加、删除操作:

   boolean add(Object o):将对象添加给集合

   boolean remove(Object o): 如果集合中有与o相匹配的对象,则删除对象o

  (2) 查询操作:

   int size() :返回当前集合中元素的数量

   boolean isEmpty() :判断集合中是否有任何元素

   boolean contains(Object o) :查找集合中是否含有对象o

   Iterator iterator() :返回一个迭代器,用来访问集合中的各个元素

  (3) 组操作 :作用于元素组或整个集合

   boolean containsAll(Collection c): 查找集合中是否含有集合c 中所有元素

   boolean addAll(Collection c) : 将集合c 中所有元素添加给该集合

   void clear(): 删除集合中所有元素

   void removeAll(Collection c) : 从集合中删除集合c 中的所有元素

   void retainAll(Collection c) : 从集合中删除集合c 中不包含的元素

  (4) Collection转换为Object数组 :

   Object[] toArray() :返回一个内含集合所有元素的array

   Object[] toArray(Object[] a) :返回一个内含集合所有元素的array。运行期返回的array和参数a的型别相同,需要转换为正确型别。

热心网友 时间:2022-03-01 00:59

    Java提供了数种持有对象的方式,包括语言内置的Array,还有就是utilities中提供的容器类(container classes),又称群集类(collection classes)。集合在java中非常重要,在讨论之前,先来看几个面试中的经典问题。 

    1 Collection 和 Collections的区别。 

    2 List, Set, Map是否继承自Collection接口。 

    3 ArrayList和Vector的区别。 

    4 HashMap和Hashtable的区别。 

篇尾有答案,我们开始正题。   

    集合Collection接口 

        --Collection 是任何对象组,元素各自独立,通常拥有相同的套用规则。Set List由它派生。

    基本操作  增加元素add(Object obj); addAll(Collection c); 

    删除元素 remove(Object obj); removeAll(Collection c); 

    求交集 retainAll(Collection c); 

    删除元素 remove(Object obj); removeAll(Collection c); 

    求交集 retainAll(Collection c); 

    访问/遍历集合元素的好办法是使用Iterator接口(迭代器用于取代Enumeration)

Public interface Iterator{
  Public Boolean hasNext(};
  Public Object next(};
 Public void remove(};
}

    集set 

        --没有重复项目的集合 

    有三种特定类型的集可用 

        HashSet-基于散列表的集,加进散列表的元素要实现hashCode()方法 

        LinkedHashSet-对集迭代时,按增加顺序返回元素 

        TreeSet-基于(平衡)树的数据结构   

        清单List 

        --位置性集合。加进清单的元素可以加在清单中特定位置或加到末尾 

有两个特定版本

    ArrayList(数组表)-类似于Vector,都用于缩放数组维护集合。区别:

        一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 

        二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半 

    LinkedList(链表)-是双向链表,每个节点都有两个指针指向上一节点和下一节点。 

    用在FIFO,用addList()加入元素 removeFirst()删除元素

    用在FILO,用addFirst()/removeLast() 

    ListIterator提供双向遍历next() previous(),可删除、替换、增加元素 

    映射表Map 

    --用于关键字/数值对,像个Dictionary 

    处理Map的三种集合 

    关键字集KeySet() 

    数值集value() 

    项目集enrySet() 

    四个具体版本

    HashMap-散列表的通用映射表 

    LinkedHashMap-扩展HashMap,对返回集合迭代时,维护插入顺序 

    WeakHashMap-基于弱引用散列表的映射表,如果不保持映射表外的关键字的引用,则内存回收程序会回收它 

    TreeMap-基于平衡树的映射表   

    HashMap-散列表的通用映射表 

    LinkedHashMap-扩展HashMap,对返回集合迭代时,维护插入顺序 

    WeakHashMap-基于弱引用散列表的映射表,如果不保持映射表外的关键字的引用,则内存回收程序会回收它 

    TreeMap-基于平衡树的映射表 

    Collections类,用于同步集合,还能改变集合只读方式的类 

Map mp=new HashMap();
mp=Collections.synchronizedMap(mp); //生成线程安全的映射表
mp=Collections.unmodifiableMap(mp); //生成只读映射表

热心网友 时间:2022-03-01 02:34

就是你课本上学的那些队列啊, 栈啊, 链表啊, hash表, set, 这些所谓的集合, 数据的组织方式
java里有对应的实现好了的类, 你可以直接拿来用
java还提供了对集合的一些便利的操作方法, 比如说排序, 遍历等等

总之你不用再造一遍轮子了, 需要的时候拿来用
难道这就是框架

热心网友 时间:2022-03-01 04:25

框架是对某一类问题通用性的解决方案
java集合框架是对集合操作的通用性,共性处理方式/方法,进行总结基础上,写的代码,常用的有比如数组转换为集合,集合排序方法,复制等
可以参考java自带集合文档,也可以 看下百度百科 java集合框架介绍http://ke.baidu.com/link?url=SG0aQjqNSOAKBxTlNzH3rv5ka7SrjLz618z1hJ7KHBxpCpw4u818mHlCviStlgK8TGzHzmHnfN0moE7oVX4RiK
视频相册制作软件如何做视频相册? 用word2007自动生成目录后,目录上始终有个“ 更新目录”的框,怎么去... Word2007目录怎么删除正文 手机不能横屏了是怎么回事? 庞贝柱的结构样貌是怎样的? 埃及庞贝柱景点描述 庞贝柱是怎样的历史? 埃及庞贝柱历史追溯 庞贝柱是个什么样的景点? 庞贝柱是为为了答谢谁而建的? 属蛇穿什么转运最旺运 属蛇什么颜色转运最旺 属蛇的人什么颜色转运最旺 英国查理一世时期君主专政的特征 增值税专用发票开错作废证明怎么写 女主为了救男主被拔掉指甲,被活埋,但男主却认错了人,这本小说叫... 什么地方能读到法拉奇的小说男子汉 高级职称有什么待遇 职称高级相当于什么? HUAWEI 华为 AM185 入耳式有线降噪耳机-适用对象 华为FreeBuds Pro有线充版-入耳式真无线动圈主动降噪蓝牙耳机(陶瓷白... HUAWEI 华为 FreeLace Pro 入耳式颈挂式动圈主动降噪蓝牙耳机 曜石黑... HUAWEI 华为 FreeBuds Pro 入耳式真无线动圈主动降噪蓝牙耳机 墨韵白推... 华为Freebuds 3 无线充版半入耳式真无线蓝牙耳机(碳晶黑)-详细介绍... HUAWEI 华为 FreeBuds 悦享版 入耳式无线蓝牙耳机-详细介绍 如何评价华为新旗舰tws耳机freebudspro? HUAWEI 华为 FreeBuds Pro 无线蓝牙耳机推荐 字符串"\\\"ABC\"\\"所占内存字节的长度 怎样挑选千元内的羊绒大衣? 现在思科的CCNA,CCNE,CCIP的考证费分别是多少啊,通过率怎样 长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 领淘通淘客助手这个软件怎么样? 淘宝客必备的九大工具有哪些? 电脑里硬盘如何共享怎么实现多台电脑共用一块硬盘 两台电脑一个硬盘两台电脑是否可以同时用一个硬盘 共享电脑硬盘怎样设置局域网电脑硬盘共享 现在下载歌曲好还是不下好 故障码P033D的含义解析 切菜机多功能型切菜机 scanbox三维扫描仪 苹果13没有删除的备忘录怎么恢复? iphone备忘录永久删除怎么恢复?iphone备忘录恢复最近删除文件方法介绍... java中集合、集合类和集合框架是什么意思? 软考报考时的信息填写中的职称选哪一个?在线等!高分悬赏! 信息系统高级工程师职称如何申请 为什么微博通讯录好友没有一个推荐的联系人? 今天刚注册的新浪微博,开始有通讯录好友,关了重新启用就没有了 微博通过通讯录找不到人说明什么 为什么我的新浪微博里没有通讯录好友 软考有哪些内容啊!!!!!! word文档被锁,该怎么办?急啊 word文档被锁定,知道密码,但是不知道怎么解锁。 打开word之后为什么显示文档被锁定?怎样解决? word文档锁定怎么解锁 word被锁定了 怎么解锁 学习网络安全需要哪些基础知识? 十二生肖的排序 想成为一名网络安全工程师需要学习那些知识? 十二生肖的顺序排列 十二生肖排序怎样? 十二生肖排序、? 十二生肖的排序,要正确的 java框架和集合框架是一个概念吗?如同不同之间有什么区别 java集合是什么? JAVA中为什么要使用集合框架 电脑老是蓝屏该怎么办啊? 关于java集合框架的问题。java的集合框架是不是就是用来存对象的啊,我看了书上说的,一下说是把 集合框架的好处是什么? 作为一名软件测试工程师,需要必备哪些能力 软件测试工程师需要具备哪些能力? 怎么做好软件测试?一个合格得软件测试师要具备哪些能力? 软件测试人员应专业技能该具备哪些 做软件测试需要具备哪些技能? 优秀的软件测试工程师应具备哪些基本素质和专业素质? 好的软件测试人员需要具备哪些条件? 软件测试工程师应该具备哪些素质 软件测试人员应该具备哪些基本素质 软件测试工程师要具备哪些知识和技能? 软件测试工程师需要具备哪些技能2017 要从事软件测试行业,需要什么基本能力 软件测试人员需要具备哪些素质? 电子商务师考试的考核题型
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com