首页 > 编程知识 正文

java框架是什么意思,java集合框架有哪些

时间:2023-05-05 22:18:48 阅读:58251 作者:1667

容器是可以容纳其馀Java对象的对象。 Javacollectionsframework(JCF )为Java开发人员提供了通用的容器html

java集合主要分为四个部分: java

Collections (列表、集集合)、贴图映射、迭代器(迭代器、枚举)、工具类(数组、集合) )程序员

背景

数组优点:是一个简单的线性数组,可以快速访问数组元素,效率很高。 从效率和类型检查的角度来说,数组是最好的。

排列劣势:缺乏灵活性。 容量必须预先定义,不能随着需求的变化而扩展。

由于数组的这些缺点,为了存储对象,需要更强大、更灵活、容量可以随时扩大的集合(Collection )。 (扩容)面试

基本类型

Java容器只能包含对象。 对于基本类型(int、long、float、double等),必须包装在对象类型中,然后放在Integer、long、float、double等)容器中。 在很多情况下,拆包和打包都是自动完成的。 这将产生额外的性能和空间开销,但简化了设计和编程。 算法

类属模型

所有容器内部都包含Object对象,通用机制(语法糖、编译器)只需简化编程,编译器自动完成强制类型转换。 JDK 1.4之前的版本不支持通用性,类型转换必须由程序员显式执行。 程序设计

ArrayList list=new ArrayList (; //通用、参数化数组

通用通配符? )安全

上限: publicvoidgetfunc (列出扩展sAnimalan )表示此处的参数传递给Animal或animal子框架

如果将下限限制为: publicvoidgetfunc (setsuperAnimalan ),则表示此处的参数将传递给Animal或animal父工具

使用通用注意事项:

一、通用型不支持基本数据类型

二、泛型不支持继承,必须匹配优先级(这样错误)列表=新数组列表);

存储器

因为Java中的所有对象都位于堆中,并且对象只能通过引用访问,所以放在容器中的实际上是对象的引用,而不是对象本身

Ava集合的骨架图

List链表

在Collection的子接口中,内容允许重复。

List特色:线性。 也就是说,有秩序。 元素的放置顺序与元素的保存顺序相同。

表象上: List最大的特色是有下标。

ArrayList :表现为数组的封装,基础是数组。

链接列表:基础是双向链表。

一、经常寻找、修改的时候使用ArrayList。

二、成长、删除用较多时(特别是向中间成长、删除)使用链接列表。

三.线程安全、数据量大时考虑使用vector。

泛型:用于控制集合只能操作一种数据类型。

遍历:一、普通for循环遍历。

二、使用迭代器完成遍历。 ——从头到尾不带下标地行走,无法操作数组。

三. for-each循环语句是一个迭代器,语法简单,还可以操作数组。 推荐。

集集

在collection的子接口中,内容不允许重复。

特征:不能放置重复的元素,也不能无序放置元素。

表象上: Set没有下标。

HashSet判断两个要素不重复:一、调用equals方法比较两个对象

二.两种元素的hashcode值一致

我认为只有同时满足这两个条件,java才是同一对象。

如果重写了所有equals方法,则通常会重写hashcode方法。 当equals返回true时,hashcode返回的值必须相同。

hashSet只能进行增加、删除、求出长度、遍历等操作。

遍历:一、迭代器

二. for-each

地图地图

是存储配对值的最大接口,所有元素都存储为键和值。

特点:键值对——键有唯一要求,值可重复

经常使用子类: HashMap、Properties (仅操作属性文件) )。

混洗地图

常用体操:添加、删除、更改、调查、内容、扫描

对于遍历:不能同时遍历所有键和值。 只能分别遍历键和值。

钥匙在横移中以Set型迎接。

在遍历过程中由Collection接收值。

混洗与混洗相比,混洗是非线性安全的,混洗是线性安全的。

二、hashMap允许空值制作密钥

/值,hashTable不容许。

Properties

经常使用操做:增、删、查、改、容、存、取。

存的时候,调用的是.store方法存文件,

取的时候,调用.load方法取文件。

文件类型:.properties——固定格式的文本文件,将是工做中使用率第二的配置文件。

Map.Entry

Map.Entry的内部接口,每一个

Map.Entry对象都保存着一对key——value的内容,每一个map接口中都保存有多个Map.Entry接口实例。

Iterator

集合的输出接口,从前到后输出指定集合中的内容。不能遍历Map,只用来遍历Collection。

ListIterator

是Iterator的子接口,能够进行双向输出。专门用来便利List.

Enumeration

是最先的输出接口,用于输出指定集合中的内容。

collections

集合操做的算法类

包括排序、求最大、最小、反转、随机混排等操做

排序的时候,由于是对对象排序,因此应按必定的业务逻辑的天然顺序排序。

比较器

comparable接口:内部比较器

可对任意数组排序,java泛型技术,二叉树排序原理

一、类实现comparable接口

二、重写compareTo方法

compareTo方法返回的是int类型数据:1表示大于,-1表示小于,0表示相等。

comparator接口:外部比较器

补救的作法

此接口同样须要重写方法,但方法接收两个对象,返回值依然是一、-一、0;

SortedSet

单值的排序接口,实现此接口的集合类,里面的内容可使用比较器排序。

SortedMap

存放一对值的排序接口,里面内容按照key排序,使用比较器排序。

Queue

队列接口,此接口的子类能够实现队列操做。

抄录网址

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。