jdk 1.5后collection 不再是集合的顶层接口了,而是Iterable 实现这个接口是为了允许集合对象成为增强for 的目标 |
集合是专业存储对象的容器 ,注意集合仅仅存储的是对象的引用,而非对象本身。 |
List 继承继承了Collection 接口. List 是Collection 的子类. List 更强的,具备更多个方法.. |
list提供了一些特殊方法实现自己的特有功能,都依赖于角标 |
集合的特点 元素存储有序,在list集合中的元素都有角标,且可以存储重复值 |
增 void add(int index, Object element) boolean addAll(int index, Collection c) |
删 remove(int index) |
查 get(int index) int indexOf(Object o) int lastIndexOf(Object o) |
改 Object set(int index, Object element) subList(int fromIndex, int toIndex) |
List实现类 |
特点: 底层是数组实现, 数组是一块连续的内存,通过角标可以实现快速的定位,查找很快. 但是增加和删除元素时,很慢, 元素的移动(增加和删除),和数组的扩容(增加元素,数组空间不足) 底层的数组的扩容,是以1.5倍扩容的... 总结: 查找快,增删慢. 在实际开发中,最为常见的一个集合... |
总结: 查找快,增删慢. |
ArrayList 集合: contains方法底层使用元素的equals方法 以使用contains 检测集合中是否包含指定的元素. 但是如果元素是自定义对象话, contains 底层使用的元素的equals 方法进行检测的. 如果自定义对象没有重写equals, contains 方法不能正常工作了. |
List 实现类 |
双向链表结构的集合 |
特点: 双向链表实现. 集合的每增加一个元素,创建出一个节点(Node)对象保存一个元素. 上一个节点会记录下一个节点的引用. 由于双向链表,下一个节点也会记录上一个节点的. 节点和节点的内存地址不连续, 查找很慢,增删快了.. |
注意: LinkedList 和数组没有任何关系. |
提供了一些特有的功能(由于双向链表的列表,操作集合的头尾就很方便) |
addFirst addLast getFirst getLast removeFirst removeLast |
栈:stack 队列 queue 先进后出,后进先出... 先进先出. 压栈 排队 : offer push() 出队 :poll 弹栈. pop() |
Vector 缺陷: JDK1.0 出现的. 具备自己特有方法,但是方法名太长. 底层也是数组实现, 数组在扩容是100% 扩容, 消耗内存.. 该集合是同步(集合的方法都是同步方法),在单线程在操作新低. 解决: JDK1.2 Java 设计了集合体系. Collection. 并设计出了ArrayList . Vector 就被ArrayList 替代了. ArrayList 优点: 方法名短. 虽然也是数组实现,但是扩容不再是100% 集合被设计为非同步的. 不再使用同步方法了. -> 提高性能. 注意: 如果ArrayList 遇到了多线程安全问题: 可以使用Collections.synchronizedList(List list); 将不同步的ArrayList 转换为同步的集合. |
- 浏览: 6281 次
- 性别:
- 来自: 深圳
相关推荐
总结起来,通过Servlet和JSTL的结合,我们可以实现动态地从服务器端向客户端传递List集合数据。Servlet负责处理请求、创建和传递集合,而JSTL则在客户端呈现这些数据。这种分离的职责模式有助于提高代码的可维护性和...
本篇文章将深入探讨如何使用Java反射来获取一个类的所有属性、方法,并处理List集合类。 首先,让我们了解Java反射的基础概念。在Java中,`java.lang.Class`类代表运行时的类信息。我们可以使用`Class.forName()`...
标题中的“redis存储List集合”指的是使用Redis数据库来存储列表数据结构。Redis是一个开源的、高性能的键值存储系统,支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。在这个示例中,重点是利用Redis...
总结一下,SharedPreferences在Android开发中主要用来存储简单的键值对,而通过JSON序列化和反序列化技术,我们可以实现将List集合存取到SharedPreferences中。但请注意,这并不是SharedPreferences的最佳实践,对于...
本文将详细介绍如何将JSON字符串直接转换为Java对象,特别是涉及到多层List集合的情况。在本例中,我们将使用`net.sf.json.JSONObject`类来实现这一功能。 首先,确保你的项目中已经引入了必要的库。在使用`...
### Java集合框架总结 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和...
- **列表(List)**:List集合则与Set相反,它不仅允许存储重复元素,而且能够保证元素的插入顺序。这意味着开发者可以通过索引直接访问或修改元素。 - **映射(Map)**:Map集合用来存储键值对(key-value pairs),其中...
### c标签遍历集合嵌套的List集合 在Java Web开发中,经常需要处理复杂的集合数据结构,并将其展示到前端页面上。对于嵌套的集合(例如:List中包含List),使用`c`标签库(JSTL)进行遍历是一种常见的做法。本文将...
而List集合是一种常见的数据结构,用于存储一系列元素的有序集合。将List集合转换为JSON对象是数据处理中的一项基本技能,尤其在进行Web开发和数据交互时尤为重要。 上述内容主要介绍了如何将List集合转换为JSON...
### Java中的集合总结一 #### 1. ArrayList **简介:** `ArrayList` 是 `List` 接口的一个实现类,它使用动态数组的方式存储数据。`ArrayList` 的特点是能够根据索引快速地访问列表中的元素,同时也支持通过索引...
总结起来,JNI操作Java的List集合存储对象涉及到以下步骤: - 定义Java层的JNI接口。 - 初始化JNI环境,找到相关类和方法ID。 - 在C/C++中实现JNI方法,创建和操作Java对象。 - 注意对象序列化和内存管理。 - 处理...
总结来说,从数据库得到的结果集存放到List集合中,主要涉及以下几个步骤: 1. 使用JDBC建立数据库连接。 2. 创建Statement或PreparedStatement执行SQL查询。 3. 处理ResultSet,将每一行数据映射到Java对象。 4. ...
总结起来,"list集合树状排序"是将具有层级关系的数据进行预处理,使其在前端以树形结构展示时能正确反映其关系。这涉及到对List的排序、树结构的构建以及对前端需求的理解。通过合理的设计和算法选择,可以有效地...
### Java集合总结 Java集合框架提供了多种用于存储和操作数据的接口和实现类。其中最主要的三种类型是`List`、`Set`和`Map`。本文主要针对`List`进行详细的解析,包括其子类`ArrayList`和`LinkedList`的特点与应用...
总结,使用Hibernate在查询条件中创建List集合是Java开发中常见的操作,无论是通过HQL还是Criteria API,都能灵活、高效地处理复杂的查询需求。在实际开发中,我们应该根据项目需求和团队习惯选择合适的查询方式,并...
集合总结及扩展1 本节内容总结了集合的继承体系、集合的接口、抽象类、具体类的概念,并详细介绍了Collection、Iterator、泛型、List、Set、Map等集合框架中的重要知识点。 1. 集合继承体系 集合继承体系中,接口...
总结来说,Java的List集合提供了一种有序且可重复元素的存储方式,它在Collection接口的基础上增加了对元素位置的控制和管理,适用于需要保持元素插入顺序的场景。理解并熟练运用List接口及其实现类,能够有效提升...
总结来说,Java中遍历List集合有多种方式,每种都有其适用场景。迭代器适合需要在遍历过程中删除元素的情况,增强for循环简化了代码,下标遍历在需要索引时很有用,而Stream API则提供了更高级的处理功能,尤其是在...
### Java集合框架使用总结 #### 前言 本文旨在为读者提供关于Java集合框架的概览性介绍,帮助理解其整体架构与设计理念。对于希望深入掌握特定接口或类使用方法的学习者,建议查阅官方提供的Java API文档。 #### ...