`
dreamstone
  • 浏览: 287398 次
  • 来自: ...
文章分类
社区版块
存档分类

Java中的容器 ArrayList

阅读更多

Java中的容器 ArrayList
学习、使用java中的容器,应改了解以下这些问题
1,容器的作用
2,与其它容器的区别
3,知识点

先说一:(作用是简单的,到处都能看到,不详说)
首先要知到容器的作用,知到了作用才能开始使用它,首先我们应改知到ArrayList是一个容器,你可以往里边
放任何的object(object的意思就使说基础类型不行了,不过可以放基础类型对应的类).所以当你有很多对象
须要保存的时候,可以选择它)

二:这个是比较总要的,因为学会使用一个容器是很容易的,恰当的使用才是重要的。
对比Hashet ArrayList LinkedList
这些都是比较常见的,在什么情况下选择哪个呢,那首先了解一下他们的实现
HashSet基于HashMap的,HashMap是利用hash表实现的一个key-value的映射
LinkedList是基于链表的。
ArrayList是基于数组的

    优点                      缺点
HashSet    保正无重复,随机读取快         插入时消耗大,无序
ArrayList  插入快,按照index读取快    删除或者无序插入慢
LinkedList 插入,删除快        随机读取慢
知到了上边的这些,那么我们就可以来选择了。根据自己的需求,选择相应的容器

三:每个类库的使用,都有一些须要注意的地方,用的好了能够优化性能。首先看一下ArrayList的实现
实现里边有个重要的函数,就使在长度不够的时候的扩充和无参构造函数
public ArrayList() {
 this(10);
    }
无参构造函数告诉我们,默认ArrayList的长度是10个   
public void ensureCapacity(int minCapacity) {
 modCount++;
 int oldCapacity = elementData.length;
 if (minCapacity > oldCapacity) {
     Object oldData[] = elementData;
     int newCapacity = (oldCapacity * 3)/2 + 1;
         if (newCapacity < minCapacity)
  newCapacity = minCapacity;
     elementData = (E[])new Object[newCapacity];
     System.arraycopy(oldData, 0, elementData, 0, size);
 }
}
扩充函数告诉我们扩充的算法是(oldCapacity * 3)/2 + 1
同时,如果我们在使用ArrayList的时候知到了须要存放的对象的个数,在初始化ArrayList的是否,不妨加上
参数new ArrrayList(200);这样,ArrayList不许要一次次的扩充,一次次的拷贝,对性能提高是有帮助的。

然後看到jdk1.5中添加的新东西,其实应改不算新了。很像c++中的template
jdk1.5中加入了泛型,如下使用。
ArrayList<String> strList = new ArrayList<String>();
另外如果想更深入的了解泛型,候捷有一篇文章,讲的很详细
google 候捷 jdk1.5 泛型 就能找到

 

分享到:
评论

相关推荐

    Java容器ArrayList原理解析

    Java容器ArrayList原理解析 ArrayList是Java中最常用的容器之一,它实现了List接口,提供了许多有用的方法来操作集合。下面我们将深入探讨ArrayList的原理和机制。 ArrayList的特点 ArrayList是一种基于数组的...

    java中容器类ArrayList(底层数组实现)和数组存取效率简单测试

    ArrayList是Java集合框架中的一种重要容器,它以数组为基础实现,提供了动态数组的功能。本篇文章将深入探讨ArrayList的工作原理,以及它与普通数组在存取效率上的差异。 ArrayList的核心是内部的数组对象,它在...

    Java容器总结

    总的来说,Java容器在软件开发中扮演着不可或缺的角色。无论是简单的数据存储还是复杂的业务逻辑管理,理解并熟练掌握这些容器及其源码,都能提升我们的编程能力和问题解决能力。同时,合理利用工具类,能有效提高...

    java中容器是什么意思?

    在Java编程语言中,容器(Container)是一种用来存储和管理数据结构的重要概念,它提供了组织、存储和操作数据的方式。容器通常指的是集合框架中的各种类,如List、Set、Map等,它们允许开发者以不同的方式存储和...

    Java容器ArrayList知识点总结

    Java容器ArrayList知识点总结 Java容器ArrayList是Java集合框架中的一种常用的容器实现,它的底层实现是基于数组的。ArrayList具有访问元素效率高、查询快、插入、修改、删除元素慢等特点,与LinkedList相比,它...

    java对象容器(涉及HashMap,ArrayList,Set等)

    在Java中,最常见的对象容器包括ArrayList、List、Set和HashMap等。这些容器各自具有不同的特性和用途,理解并熟练掌握它们对于提升Java编程能力至关重要。 ArrayList是Java集合框架中的一个动态数组,它允许我们在...

    Java容器类List、ArrayList、Vector及map、HashTable应用

    Java容器类List、ArrayList、Vector及map、HashTable应用 List、ArrayList、Vector及map、HashTable是Java中常用的容器类,它们都继承自Collection接口,并提供了不同的实现方式和特点。在实际开发中,选择合适的...

    java类容器总结文档

    Java 类容器是 Java 编程中非常重要的一个概念,它主要指的是 Java 集合框架中的各种类,如 ArrayList、LinkedList、HashSet、HashMap 等,这些类用于存储和管理对象。本文将深入探讨这些常用的Java类容器,帮助...

    java容器详细解析

    Java容器详细解析 Java容器是一种基本的数据...Java容器是Java语言中的一种基本数据结构,用于存储和管理对象。Java容器主要分为Collection和Map两大类,每种容器都有其优点和缺点,需要根据实际情况选择合适的容器。

    Java中Vector与ArrayList的区别详解

    Java中的ArrayList和Vector都是列表(List)接口的实现类,它们在功能上相似,但在细节上存在一些重要的差异。这两个类都是基于数组实现的,但它们的性能特点、线程安全性和扩容策略有所不同。 1. **扩容策略**: ...

    Java源码篇之容器类——ArrayList

    在Java编程语言中,ArrayList是集合框架中一个重要的容器类,属于List接口的实现,它提供了动态数组的功能。本文将深入解析ArrayList的源码,帮助开发者理解其内部工作原理。 1、前言 在日常开发中,ArrayList是...

    java练习题--容器使用练习

    在Java编程语言中,容器是用于存储对象的集合框架,它们提供了一种高效且灵活的方式来组织和...记得在实践中不断挑战自己,尝试不同的场景和数据结构,以便更好地掌握Java容器的精髓。祝你在学习过程中取得优异的成绩!

    JAVA容器知识积累

    Java容器是Java编程中至关重要的一个部分,它们用于存储、管理和操作对象集合。在这个主题下,我们将深入探讨Java中的核心容器类,包括数组、List、Set和Map,以及它们各自的特点和使用场景。 1. **数组**:数组是...

    Java容器集合(equals 和 hashCode+基础数据结构+ArrayList+Vector和LinkedList)

    其中,equals和hashCode方法是Java容器集合中两个非常重要的方法,本文将详细介绍这两个方法,并结合ArrayList、Vector和LinkedList三个常见的容器集合。 一、equals方法 equals方法是Java中用于比较两个对象是否...

    java容器(持有对象)

    在Java编程中,容器是用来存储和管理对象的类或接口,它们使得我们可以在程序中方便地组织和操作数据。在Java中,常见的容器主要分为三类:List、Set和Map,这些都是Java集合框架的重要组成部分。 首先,我们来看...

    java容器学习心得

    ### Java容器学习心得详解 在Java编程中,容器(Containers)是存储和操作对象集合的重要工具,主要包括集合(Collections)和映射(Maps)。本文将深入解析Java容器的关键概念、特性以及不同容器类型的应用场景。 ...

    Java Array与ArrayList区别详解

    Java中的Array和ArrayList是两种不同的数据结构,它们在使用场景和特性上有显著的差异。Array是一种固定大小的数据结构,用于存储同一类型的元素序列,而ArrayList是Java集合框架的一部分,属于List接口的一个实现,...

    JAVA容器对象整理

    这篇博客"JAVA容器对象整理"可能涵盖了关于Java中的不同容器类、接口以及它们的使用方式。在这里,我们将深入探讨一些核心的Java容器知识点。 1. **ArrayList与LinkedList** - `ArrayList`是一个基于数组实现的...

    不明白容器的,看看这个,JAVA的容器自学

    Java容器是Java编程中至关重要的一个概念,它们是用来存储、管理和操作对象的工具,使得开发者可以更加方便地组织代码和数据。在这个“JAVA的容器自学”资料中,我们将深入探讨Java容器的基本概念、主要类型以及如何...

Global site tag (gtag.js) - Google Analytics