Java中的容器
1、Java的容器类有两种基本类型:Collection和Map,区别在于容器中每个位置保存的元素个数。Collection每个位置只能保存一个元素,Map保存的是键值对。
2、迭代器,是一个对象,它的工作是遍历并选择序列中的对象,“轻量级”的对象,创建它的代价小。常用方法:next();hasNext();remove();
3、Collection:
(1)List:
ArrayList:允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢,可以理解为容量大小可变的数组。
LinkedList:向List中间插入与移除的开销并不大,随机访问则相对较慢,可以当作堆栈、队列和双向队列使用。
最佳做法是将ArrayList作为默认首选,只有当程序性能因为经常从表中间进行插入和删除变差时,才选择LinkedList。
(2)Set,不保存重复的元素:
HashSet:为快速查找而设计的Set,存入HashSet的对象必须定义hashCode()。
TreeSet:保持次序的Set,底层为树结构,使用它可以从Set中提取有序的序列,“按对象比较函数对元素排序”,而不是指“元素插入的次序”。
LinkedHashSet:具有HashSet的查询速度,并且内部使用链表维护元素的顺序(插入的次序),于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。
HashSet性能总是比TreeSet好。TreeSet存在的唯一原因是它可以维持元素的排序状态。
4、Map:
(1)HashMap:基于散列表的实现。插入和查询“键值对”的开销是固定的。
(2)LinkedHashMap:类似于HashMap,但是迭代器遍历它时,取得“键值对”的顺序是其插入次序,或者是最近最少使用(LRU)次序。比HashMap慢一点,但是迭代访问时会更快。
(3)TreeMap:基于红黑树的实现。查看“键”或“键值对”时,它们会被排序(次序由Comparable或Comparator决定),所得到的结果是经过排序的,而且是唯一带有subMap()方法的Map,可以返回一个子树。
首选HashMap,只有在需要一个总是排好序的Map时,才使用TreeMap。
5、如果要使用散列的数据结构(HashSet,HashMap,LinkedHashSet或者LinkedHashMap)最好先覆盖hashCode()和equals(),因为从Object继承下来的hashCode()方法默认是使用对象的地址计算散列值
分享到:
相关推荐
Java中最常见的容器包括Java集合框架(如ArrayList、HashMap等)、JavaBeans、Enterprise JavaBeans(EJB)、Servlet容器(如Tomcat、Jetty)以及Spring框架中的IoC(控制反转)和DI(依赖注入)容器。 1. **Java...
Java 常见并发容器总结 JDK 提供的这些容器大部分在 `java.util.concurrent` 包中。 - **`ConcurrentHashMap`** : 线程安全的 `HashMap` - **`CopyOnWriteArrayList`** : 线程安全的 `List`,在读多写少的场合性能...
6. **泛型**:Java的泛型允许在容器中指定元素类型,提高了代码的安全性和可读性。例如,ArrayList表示一个只包含字符串的列表。 7. **集合与数组之间的转换**:Java提供了便利的方法将集合转换为数组,反之亦然。...
Java泛型与容器详细笔记涉及到Java编程语言中的两个重要概念:泛型(Generics)和容器(Containers)。容器主要包括Java集合框架中的各类集合类,如List、Set、Map等,它们用于存储和操作数据。泛型则提供了一种类型...
在Java中,常见的容器主要分为三类:List、Set和Map,这些都是Java集合框架的重要组成部分。 首先,我们来看Collection接口,它是所有单值容器的基础接口。Collection接口定义了通用的操作方法,比如size()返回容器...
### Java集合类与容器类详解 #### 一、引言 在Java编程中,集合类是一种非常重要的数据结构,用于存储一系列对象。相比于数组,集合类提供了更多的灵活性和功能,尤其是在处理未知数量的对象时更为方便。Java标准...
这份"java源代码,关于java中常见各种类的用法"的压缩包文件是学习Java基础知识的绝佳资源,尤其适合初学者。它包含了丰富的中文注解,帮助理解复杂的概念,使得学习过程更为直观和轻松。 首先,让我们深入探讨Java...
本文将深入分析Java中的List接口及其常见的实现类,如ArrayList、LinkedList和Vector,探讨它们的效率差异和适用场景。 首先,List是Java集合框架中的一个重要接口,它扩展了Collection接口,并规定了元素的有序性...
Java作为一门编程语言,在面试过程中被广泛考察,而《Java 最常见 200+ 面试题全解析:面试必备》这份文件,显然是为希望在Java领域深造的求职者和从业者准备的一份复习资料。文档中所包含的面试题按照知识点被...
Java 容器中使用了多种设计模式,如迭代器模式、适配器模式等。 1. 迭代器模式:Collection 继承了 Iterable 接口,其中的 iterator() 方法能够产生一个 Iterator 对象,通过这个对象就可以迭代遍历 Collection 中...
标题中提及的是“Java最常见200面试必备题.pdf”,而描述中解释了本文档的目的在于为有志于Java技术的读者提供一份详实而权威的面试题清单。它强调了三大原因:帮助梦想准备中的“有心人”;弥补市场上面试题答案不...
总之,学习和掌握这些Java常见程序的算法对于提升编程技能至关重要。无论是基本的排序和搜索,还是高级的数据结构和算法,都是解决问题的有效工具。通过对比C和Java的实现,可以更好地理解和应用算法,为实际项目...
首先,文档描述了一个名为“Java 最常见200道面试题.pdf”的文件,它是一个集合了互联网公司面试题的集锦,主要针对后台、客户端、测试、数据、算法等职位。文档强调了这些面试题对于准备面试的程序员具有很高的价值...
在这个“java泛型容器堆栈代码”中,我们将会探讨Java如何利用泛型来创建高效且类型安全的容器,特别是堆栈数据结构。 堆栈是一种基于“后进先出”(LIFO)原则的数据结构,常用于实现函数调用栈、内存管理等场景。...
Java容器类是Java编程语言中不可或缺的一部分,它们主要用于存储和管理对象。这些类和接口位于`java.util`包中,为开发者提供了灵活的数据结构和数据操作方式。在Java中,容器类主要分为两大类:Collection和Map。 ...
后缀为.mmap的思维导图,总结了JAVA容器的常见类
了解并掌握Java中的常见英语词汇对于学习和工作至关重要。以下是一些关键概念的详细解释: 1. **Object-oriented (面向对象)**:Java是一种面向对象的语言,这意味着它的设计哲学是基于对象,每个对象都有特定的...
Java容器是Java编程中一个非常重要的概念,它主要用于管理和组织对象。在Java中,容器可以是集合、框架或服务提供者等,它们为其他对象提供存储、管理以及生命周期控制等功能。容器广泛应用于企业级开发,尤其是在...
要使用EJB,它必须部署在兼容的应用服务器容器中,如IBM WebSphere、BEA WebLogic等。EJB客户端不是直接访问EJB组件,而是通过容器间接访问。容器提供管理服务,如事务管理、安全性、生命周期管理等。EJB容器是EJB...
在Java中,容器类包括数组、列表、队列、集、映射等数据结构,它们为开发者提供了灵活的数据处理能力。本篇文章将深入探讨Java容器类的应用,重点关注其核心特性和常见用法。 首先,我们来了解容器类的基础——`...