`
duxubo511325
  • 浏览: 6344 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

List集合总结

 
阅读更多
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 转换为同步的集合.
   
分享到:
评论

相关推荐

    servlte加jstl传递List集合

    总结起来,通过Servlet和JSTL的结合,我们可以实现动态地从服务器端向客户端传递List集合数据。Servlet负责处理请求、创建和传递集合,而JSTL则在客户端呈现这些数据。这种分离的职责模式有助于提高代码的可维护性和...

    redis存储List集合

    标题中的“redis存储List集合”指的是使用Redis数据库来存储列表数据结构。Redis是一个开源的、高性能的键值存储系统,支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。在这个示例中,重点是利用Redis...

    java反射,获取所有属性、方法以及List集合类

    本篇文章将深入探讨如何使用Java反射来获取一个类的所有属性、方法,并处理List集合类。 首先,让我们了解Java反射的基础概念。在Java中,`java.lang.Class`类代表运行时的类信息。我们可以使用`Class.forName()`...

    SharedPreferences存取list集合

    总结一下,SharedPreferences在Android开发中主要用来存储简单的键值对,而通过JSON序列化和反序列化技术,我们可以实现将List集合存取到SharedPreferences中。但请注意,这并不是SharedPreferences的最佳实践,对于...

    Java中Json字符串直接转换为对象的方法(包括多层List集合)

    本文将详细介绍如何将JSON字符串直接转换为Java对象,特别是涉及到多层List集合的情况。在本例中,我们将使用`net.sf.json.JSONObject`类来实现这一功能。 首先,确保你的项目中已经引入了必要的库。在使用`...

    Java集合框架总结

    ### Java集合框架总结 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和...

    c标签遍历集合嵌套的List集合

    ### c标签遍历集合嵌套的List集合 在Java Web开发中,经常需要处理复杂的集合数据结构,并将其展示到前端页面上。对于嵌套的集合(例如:List中包含List),使用`c`标签库(JSTL)进行遍历是一种常见的做法。本文将...

    JSON--List集合转换成JSON对象详解

    而List集合是一种常见的数据结构,用于存储一系列元素的有序集合。将List集合转换为JSON对象是数据处理中的一项基本技能,尤其在进行Web开发和数据交互时尤为重要。 上述内容主要介绍了如何将List集合转换为JSON...

    java中的集合总结一

    ### Java中的集合总结一 #### 1. ArrayList **简介:** `ArrayList` 是 `List` 接口的一个实现类,它使用动态数组的方式存储数据。`ArrayList` 的特点是能够根据索引快速地访问列表中的元素,同时也支持通过索引...

    从数据库得到的结果集存放到List集合中

    总结来说,从数据库得到的结果集存放到List集合中,主要涉及以下几个步骤: 1. 使用JDBC建立数据库连接。 2. 创建Statement或PreparedStatement执行SQL查询。 3. 处理ResultSet,将每一行数据映射到Java对象。 4. ...

    jni操作list集合,来存储对象

    总结起来,JNI操作Java的List集合存储对象涉及到以下步骤: - 定义Java层的JNI接口。 - 初始化JNI环境,找到相关类和方法ID。 - 在C/C++中实现JNI方法,创建和操作Java对象。 - 注意对象序列化和内存管理。 - 处理...

    list集合树状排序-java

    总结起来,"list集合树状排序"是将具有层级关系的数据进行预处理,使其在前端以树形结构展示时能正确反映其关系。这涉及到对List的排序、树结构的构建以及对前端需求的理解。通过合理的设计和算法选择,可以有效地...

    java集合总结

    ### Java集合总结 Java集合框架提供了多种用于存储和操作数据的接口和实现类。其中最主要的三种类型是`List`、`Set`和`Map`。本文主要针对`List`进行详细的解析,包括其子类`ArrayList`和`LinkedList`的特点与应用...

    集合总结及扩展1

    集合总结及扩展1 本节内容总结了集合的继承体系、集合的接口、抽象类、具体类的概念,并详细介绍了Collection、Iterator、泛型、List、Set、Map等集合框架中的重要知识点。 1. 集合继承体系 集合继承体系中,接口...

    Hibernate在查询条件中创建List集合

    总结,使用Hibernate在查询条件中创建List集合是Java开发中常见的操作,无论是通过HQL还是Criteria API,都能灵活、高效地处理复杂的查询需求。在实际开发中,我们应该根据项目需求和团队习惯选择合适的查询方式,并...

    JavaSE专题-List集合.doc

    总结来说,Java的List集合提供了一种有序且可重复元素的存储方式,它在Collection接口的基础上增加了对元素位置的控制和管理,适用于需要保持元素插入顺序的场景。理解并熟练运用List接口及其实现类,能够有效提升...

    java遍历list集合.zip

    总结来说,Java中遍历List集合有多种方式,每种都有其适用场景。迭代器适合需要在遍历过程中删除元素的情况,增强for循环简化了代码,下标遍历在需要索引时很有用,而Stream API则提供了更高级的处理功能,尤其是在...

    Java集合框架使用总结

    ### Java集合框架使用总结 #### 前言 本文旨在为读者提供关于Java集合框架的概览性介绍,帮助理解其整体架构与设计理念。对于希望深入掌握特定接口或类使用方法的学习者,建议查阅官方提供的Java API文档。 #### ...

Global site tag (gtag.js) - Google Analytics