`
weitao1026
  • 浏览: 1053736 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java中的集合和数组

 
阅读更多
数组Array和集合的区别:
 
(1)数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)
 
(2)JAVA集合可以存储和操作数目不固定的一组数据。 (3)若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。
 
联系:使用相应的toArray()和Arrays.asList()方法可以回想转换。
 
一.集合的体系结构:
 
List、Set、Map是这个集合体系中最主要的三个接口。 List和Set继承自Collection接口。 Map也属于集合系统,但和Collection接口不同。
 
Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。Set 只能通过游标来取值,并且值是不能重复的。
 
List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。 ArrayList 是线程不安全的, Vector 是线程安全的,这两个类底层都是由数组实现的 LinkedList 是线程不安全的,底层是由链表实现的
 
Map 是键值对集合。其中key列就是一个集合,key不能重复,但是value可以重复。 HashMap、TreeMap和Hashtable是Map的三个主要的实现类。 HashTable 是线程安全的,不能存储 null 值 HashMap 不是线程安全的,可以存储 null
 
二.List和ArrayList的区别
 
  1.List是接口,List特性就是有序,会确保以一定的顺序保存元素.
 
  ArrayList是它的实现类,是一个用数组实现的List.
 
  Map是接口,Map特性就是根据一个对象查找对象.
 
  HashMap是它的实现类,HashMap用hash表实现的Map,就是利用对象的hashcode(hashcode()是Object的方法)进行快速散列查找.(关于散列查找,可以参看<<数据结构>>)
 
  2.一般情况下,如果没有必要,推荐代码只同List,Map接口打交道.
 
  比如:List list = new ArrayList();
 
  这样做的原因是list就相当于是一个泛型的实现,如果想改变list的类型,只需要:
 
  List list = new LinkedList();//LinkedList也是List的实现类,也是ArrayList的兄弟类
 
  这样,就不需要修改其它代码,这就是接口编程的优雅之处.
 
  另外的例子就是,在类的方法中,如下声明:
 
  private void doMyAction(List list){}
 
  这样这个方法能处理所有实现了List接口的类,一定程度上实现了泛型函数.
 
  3.如果开发的时候觉得ArrayList,HashMap的性能不能满足你的需要,可以通过实现List,Map(或者Collection)来定制你的自定义类.
分享到:
评论

相关推荐

    java 集合和数组的详细总结(并随着讲解带9个例子)

    Java集合和数组是Java编程语言中的基础数据结构,它们用于存储和管理数据。数组是一种简单的数据结构,可以存储同类型的元素序列,而集合是Java集合框架的核心部分,提供了更高级的数据管理和操作功能。 ### 数组 ...

    java 集合

    总的来说,Java集合框架是Java编程中不可或缺的一部分,理解和熟练掌握其原理与使用方法,对于提升代码质量、优化程序性能具有重要意义。在日常开发中,我们需要根据具体需求灵活运用各种集合类和接口,以实现高效的...

    java 集合分组与排序

    Java集合框架中的`List`接口和数组(Array)是两种常用的数据结构,它们在处理数据时各有优势。下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这...

    Java中集合和数组的排序方式小结

    本文将重点介绍如何使用Java标准库中的`java.util.Arrays`和`java.util.Collections`类来对数组和集合进行排序。 首先,`Arrays`类提供了对数组进行排序的功能,无论是基本数据类型数组还是对象数组。例如,对于...

    java 集合部分笔记

    - **集合和数组的区别**:集合只能保存对象,而数组可以保存基本类型和对象。集合提供了更灵活的数据管理方式,例如动态扩容和多样化数据结构。 - **集合的分类**:Java集合主要分为两大类,即Collection和Map。...

    java集合使用大全

    * 相同点:类集和数组中存放的元素都是实例对象 * 不同点:类集的长度可以随意扩展,而数组的长度是固定的 类集的使用注意: * 在程序中,如果只声明类集对象,而没有实例化该类集对象,则无法使用该类集对象 * 类...

    java集合类线程安全.doc

    Java 集合框架是由 Java 平台标准版 1.2 引入的通用数据结构与算法框架。其灵活的面对对象设计受到了广大 Java 程序员的一致青睐,为 Java 平台的成熟奠定了坚实的基础。 线程安全不是一个全有或全无的问题,难以对...

    数组和集合

    首先,数组在Java中的特性与其他语言有所不同。Java中的数组是一个类,这使得它在Java语言中具有特别的地位。数组可以用来存储基本数据类型(如int, double等)或引用数据类型(如String, 对象等)。数组声明后必须...

    Java 集合与数组

    集合和数组都是用于存储和管理数据的数据结构,但它们有着不同的特点和使用场景。 集合 集合是一系列对象的聚集,实际上是用一个对象代表一组对象,在集合中的每一个对象称为一个元素。与数组不同的是,集合中的...

    java 集合框架的原理及其使用

    Java集合框架是Java编程语言中一个非常重要的组成部分,它为开发者提供了存储和管理对象的统一方式。这个框架包括了一系列接口、抽象类以及实现类,帮助程序员处理各种数据结构,如列表、集合、映射等。 首先,我们...

    java集合与排序详解

    Java 中的集合是指一种数据结构,用于存储和操作一组数据。 Java 集合框架提供了多种类型的集合,包括 Collection、List、Set、Map 等。这些集合类型都具有不同的特点和用途,了解它们的实现原理和使用方法是 Java ...

    Java集合框架学习笔记

    `Collections`和`Arrays`工具类提供了许多静态方法,用于操作集合和数组,如排序、查找、填充等。 总的来说,Java集合框架是一个强大的工具,它简化了数据存储和操作,通过接口和实现类的层次结构提供了高度的灵活...

    java 对象集合小例子.

    在Java编程语言中,对象集合是程序设计中不可或缺的一部分,它们允许我们存储和管理各种类型的对象。本篇文章将深入探讨Java中的几个主要...通过不断的学习和实践,我们可以更好地利用Java集合框架来解决各种编程问题。

    java集合框架全面进阶

    6. **工具类**:Collections和Arrays类提供了很多实用的静态方法,如排序、复制、填充集合和数组,以及集合与数组之间的转换。此外,Stream API的引入为集合操作提供了更简洁的函数式编程方式。 7. **并发处理**:...

    浅谈java中集合的由来,以及集合和数组的区别详解

    在Java编程语言中,集合和数组是两种不同的数据结构,它们各自有其特定的用途和优缺点。本文将深入探讨Java集合的起源及其与数组之间的关键差异。 首先,让我们了解集合的由来。在Java早期版本中,程序员主要依赖...

    Java字符串和数组

    在Java编程语言中,字符串(String)和数组(Array)是两种非常基础且重要的数据结构。它们在各种场景下都有着广泛的应用,比如数据存储、处理和传递等。本文将深入探讨Java中的字符串与数组,以及它们在实际开发中的...

    java代码集合.doc

    在这些Java代码集合中,我们看到了三个项目,分别是猜猜密码、计算器和计算器加强版。这些程序都是基于Java Swing库来创建用户界面,并通过Java的基本语法和数学运算来实现游戏逻辑。 1. **猜猜密码**(项目2 - ...

    JAVA 区分集合和数组

    Java 中的集合和数组是两个不同的概念,它们之间有着明显的区别。了解它们之间的区别对于编程实践非常重要。 数组 数组是 Java 语言内置的数据类型,它是一个线性的序列,所有元素可以快速访问其他的元素。数组的...

Global site tag (gtag.js) - Google Analytics