`

java 基础 集合

    博客分类:
  • java
阅读更多

 

ArrayList和LinkedList,

ArrayList的内部实现是基于内部数组Object[]

LinkedList的内部实现是基于一组链表结构

在ArrayList的前面或中间插入数据时,必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列

 

数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;

而访问链表中的某个元素时,就必须从链表的一端开始沿着连接方向一个一个元素地去查找,直到找到所需的元素为止,所以,当

 

你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。

ArrayList的查询效率比较高,增删动作的效率比较差,适用于查询比较频繁,增删动作较少的元素管理的集合。LinkedList的查询

 

效率低,但是增删效率很高。适用于增删动作的比较频繁,查询次数较少的元素管理集合。

 

 

Vector 类似arraylist 内部实现是基于内部数组Object[] 不过vector 是基于线程安全的

HashMap与HashTable

1 HashMap不是线程安全的

 

            hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可

 

以包含重复值。HashMap允许null key和null value,而hashtable不允许。

 

2   HashTable是线程安全的一个Collection。

 

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key

 

),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同

 

步,而HashMap 就必须为之提供外同步。 

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

分享到:
评论

相关推荐

    JAVA基础集合代码

    本文将深入探讨标题中的“JAVA基础集合代码”,主要关注List、Set、Stack、Map以及Queue这五种核心接口。 首先,我们来看List。List是一种有序的集合,允许元素有重复,并且可以保持元素的插入顺序。ArrayList和...

    java基础集合(核心内容)

    java基础集合(核心内容),和大家一起分享一下,呵呵

    关于java基础集合-定义及练习资料

    总之,Java基础集合的学习涵盖了从基本概念到高级特性的广泛知识。通过实践如"task06"、"demo13"和"demo14",开发者可以巩固理论知识,提升编程技能。不断练习和探索,将有助于成为一名出色的Java开发者。

    java基础 集合-21-对象的一对多与多对多

    在本课程"java基础 集合-21-对象的一对多与多对多"中,我们将深入探讨如何在Java中实现对象之间的关系,特别是一对一、一对多和多对多的关系。 1. **对象的一对一关系**: 在一对一关系中,一个类的对象只对应另一...

    Java基础集合知识点统计

    Java基础集合知识点统计

    java基础集合篇.wps

    整理了一下java基础的集合部分,有list,map,set等及其相关。

    JAVA基础集合类学习.md

    JAVA基础集合类学习.md

    java基础之集合

    ### Java基础之集合详解 #### 一、集合简介 ##### 1.1 集合定义 集合在Java中是一种容器,它可以存储任意数量的具有共同属性的对象。这些对象可以是不同类型的数据,如整数、字符串等。 ##### 1.2 集合作用 - **...

    Java基础面试题集合

    Java作为一门广泛使用的编程语言,其基础知识在面试中占据着重要...以上只是Java基础知识的一部分,实际面试中还可能涉及更多细节和实战经验。通过深入学习和实践这些知识点,能够为Java开发者在面试中提供坚实的基础。

    Java基础----集合类汇总

    总的来说,掌握Java集合框架的使用是成为一名合格Java开发人员的基础。了解各个集合类的特点和适用场景,以及它们背后的实现原理,将有助于编写出更高效、更健壮的代码。在实际编程中,我们需要根据具体需求选择合适...

    Java基础笔记之集合框架和泛型

    详细的介绍了集合框架的用法,及其语法规则,剖析了使用的使用注意事项,帮助更牢靠的掌握集合框架的知识及泛型内容。谢谢

    java基础之集合讲解

    java基础集合讲解

    java笔试题大集合及答案

    Java笔试题大集合涵盖了广泛的Java基础知识,是准备Java程序员面试或自我提升的宝贵资源。这份资料不仅测试了Java语言的核心概念,还涉及了高级特性、并发处理、数据结构与算法,以及常用框架的应用。以下是对这些...

    java基础练习题 (目前到集合内含三个小综合案例)

    这份"java基础练习题(目前到集合内含三个小综合案例)"涵盖了Java的基础知识,旨在帮助学习者巩固并提升Java编程技能。从JDK(Java Development Kit)入门到集合框架的学习,这是一个全面了解和实践Java编程的重要...

    java泛型集合 java集合 集合 java Collection

    总的来说,Java泛型集合和集合框架提供了强大的数据存储和处理能力,而`Collection`接口作为基础,连接了各种集合类型。了解并熟练掌握这些概念和用法,对于提高Java编程效率和代码质量至关重要。

    java面试中出现的面试题集合,基础集合,面试宝典.zip

    首先,Java基础集合是面试中常见的考点。这包括对Java中的数据结构如ArrayList、LinkedList、HashSet、HashMap等的理解。你需要知道它们各自的特点、性能表现以及在不同场景下的适用性。例如,ArrayList适合于随机...

    java 集合

    本文将深入探讨Java集合框架的基础知识,包括接口、类、以及它们在实际开发中的应用。 首先,Java集合框架由一系列接口和实现这些接口的类组成。主要的接口有`List`、`Set`和`Queue`,它们各自代表了不同特性的数据...

    Java基础篇:Java集合.pdf

    该文档主要详细总结了Java集合的相关知识,包括Collection和Map接口、Collection接口的子接口List和Set接口以及具体的实现类、存储原理等;Map接口的子接口HashMap、LinkedHashMap、TreeMap、Properties等

Global site tag (gtag.js) - Google Analytics