`
lwz52169
  • 浏览: 36324 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Java 常用数据结构特点

    博客分类:
  • Java
阅读更多
Collection
........|--------List
........|..........|----------ArrayList
........|..........|----------Vector
........|..........|.............|-----Stack
........|..........|----------LinkedList
........|--------Set
...................|----------HashSet.
...................|.............|-----LinkedHashSet
...................|----------SortedSet
.................................|-----TreeSet
 
Iterator
.....|-------ListIterator
 
Map
.....|------Hashtable
.....|..........|------Properties
.....|------HashMap
.....|..........|------LinkedHashMap
.....|------WeakHashMap
.....|------SortedMap
................|------TreeMap

 
Collection.
●..实现该接口及其子接口的所有类都可应用clone()方法,并是序列化类.

.....List.
.....●..可随机访问包含的元素
.....●..元素是有序的
.....●..可在任意位置增、删元素
.....●..不管访问多少次,元素位置不变
.....●..允许重复元素
.....●..用Iterator实现单向遍历,也可用ListIterator实现双向遍历

..........ArrayList
..........●..用数组作为根本的数据结构来实现List
..........●..元素顺序存储
..........●..新增元素改变List大小时,内部会新建一个数组,在将添加元素前将所有数据拷贝到新数组中
..........●..随机访问很快,删除非头尾元素慢,新增元素慢而且费资源
..........●..较适用于无频繁增删的情况
..........●..比数组效率低,如果不是需要可变数组,可考虑使用数组
..........●..非线程安全
.
..........Vector.
..........●..另一种ArrayList,具备ArrayList的特性
..........●..所有方法都是线程安全的(双刃剑,和ArrayList的主要区别)
..........●..比ArrayList效率低

...............Stack
...............●..LIFO的数据结构

..........LinkedList.
..........●..链接对象数据结构(类似链表)
..........●..随机访问很慢,增删操作很快,不耗费多余资源
..........●..非线程安全

.....Set.
.....●..不允许重复元素,可以有一个空元素
.....●..不可随机访问包含的元素
.....●..只能用Iterator实现单向遍历

..........HashSet
..........●..用HashMap作为根本数据结构来实现Set
..........●..元素是无序的
..........●..迭代访问元素的顺序和加入的顺序不同
..........●..多次迭代访问,元素的顺序可能不同
..........●..非线程安全

...............LinkedHashSet
...............●..基于HashMap和链表的Set实现
...............●..迭代访问元素的顺序和加入的顺序相同
...............●..多次迭代访问,元素的顺序不便
...............●..因此可说这是一种有序的数据结构
...............●..性能比HashSet差
...............●..非线程安全

..........SortedSet
..........●..加入SortedSet的所有元素必须实现Comparable接口
..........●..元素是有序的

...............TreeSet.
...............●..基于TreeMap实现的SortedSet
...............●..排序后按升序排列元素
...............●..非线程安全

-----------------------------------
 
Iterator..
●..对Set、List进行单向遍历的迭代器

..........ListIterator.
..........●..对List进行双向遍历的迭代器

-----------------------------------

Map
●..键值对,键和值一一对应
●..不允许重复的键.

.....Hashtable.
.....●..用作键的对象必须实现了hashcode()、equals()方法,也就是说只有Object及其子类可用作键
.....●..键、值都不能是空对象
.....●..多次访问,映射元素的顺序相同
.....●..线程安全的

..........Properties
..........●..键和值都是字符串

.....HashMap
.....●..键和值都可以是空对象
.....●..不保证映射的顺序
.....●..多次访问,映射元素的顺序可能不同
.....●..非线程安全

...............LinkedHashMap
...............●..多次访问,映射元素的顺序是相同的
...............●..性能比HashMap差

.....WeakHashMap..
.....●..当某个键不再正常使用时,垃圾收集器会移除它,即便有映射关系存在
.....●..非线程安全

.....SortedMap.
.....●..键按升序排列
.....●..所有键都必须实现.Comparable.接口.

...............TreeMap.
...............●..基于红黑树的SortedMap实现
...............●..非线程安全
分享到:
评论

相关推荐

    java数据结构实例

    这些数据结构各有特点,适用于不同的场景。 1. **数组**:是最基础的数据结构,它是一组相同类型元素的有序集合。在Java中,数组提供了快速访问元素的能力,但插入和删除元素的效率较低,因为涉及到元素的移动。 2...

    java数据结构全套

    这部分内容可以帮助学习者了解如何在实际开发中有效地利用Java内置的数据结构,掌握其性能特点和适用场景。 配套资料通常包括补充阅读材料、课后习题解答、编程挑战等,这些资源有助于巩固学习效果,提升对数据结构...

    JAVA中常用的数据结构

    "JAVA中常用的数据结构" ...JAVA中常用的数据结构有很多,如Collection、List、Map、Set等,每种数据结构都有其特点和使用场景, JAVA开发者需要根据实际情况选择合适的数据结构来实现自己的应用程序。

    java数据结构树

    根据给定的信息,本文将详细解释“Java数据结构树”的相关内容。这包括对标题和描述中的知识点进行深入探讨,以及从部分提供的内容中提取出的关键信息。 ### Java数据结构树 #### 学习Java数据结构的最佳教程 在...

    常用数据结构及其算法的Java实现

    本文将深入探讨一些常用的数据结构及其对应的Java实现,并结合"预算法"这一概念,为你的编程实践提供理论支持。 首先,我们要理解数据结构。数据结构是组织、管理、存储和检索数据的方式,它为数据提供了逻辑上的...

    Java数据结构和算法(第二版)+随书源代码+applet小程序

    《Java数据结构和算法(第二版)》是一本专为希望深入理解Java编程中的数据结构与算法的读者设计的书籍。这本书的特点是从基础知识逐步引导读者进入复杂领域,通过结合实际的Applet小程序,使得理论知识变得生动直观。...

    java数据结构

    在深入探讨Java数据结构之前,我们先了解一下Java语言。Java是一种面向对象的编程语言,它拥有跨平台、面向对象、健壮性好、安全性高等特点。Java语言基础知识包括数据类型、运算、流程控制语句、字符串处理以及数组...

    数据结构与算法 java版

    数据结构与算法是计算机科学的基础,对于任何编程语言来说,理解和掌握它们都是至关重要的,特别是对于Java这样的高级语言。在Java中实现数据结构和算法,能够帮助开发者编写更高效、可维护的代码。 《Java数据结构...

    java数据结构与算法1

    4. **C++实现**:虽然标题中主要提及Java,但C++也是一种常用的语言来讲解数据结构和算法。C++提供了更底层的控制,可以更直接地操作内存,因此在性能敏感的应用中很受欢迎。数据结构与算法程序+(C++)+China-pub高清...

    Java数据结构和算法

    ### Java数据结构和算法知识点详解 ...通过上述知识点的学习,我们可以了解到Java中各种常用的数据结构和算法的基本概念、特点以及应用场景。这些知识点对于理解软件开发中的数据管理、优化算法性能等方面至关重要。

    JAVA常用的数据结构和算法

    ### JAVA常用的数据结构和算法 #### 一、Java 数据结构概览 在Java中,数据结构主要用于组织和存储数据,以便高效地访问和修改。Java提供了多种内置的数据结构,包括但不限于数组、列表(List)、集合(Set)、...

    数据结构Java版本.pdf

    根据提供的文件标题“数据结构Java版本.pdf”及描述“适合热爱学习Java的,用于帮助复习文档”,我们可以推测这份文档主要涵盖了使用Java语言实现的各种数据结构的相关知识与实践内容。下面将详细阐述可能涉及的一些...

    JAVA语言版数据结构与算法

    ### JAVA语言版数据结构与算法知识点汇总 #### 第一章:Java与面向对象程序设计 - **Java语言基础知识** - **基本数据类型及运算**:介绍Java中的基本数据类型如整型(`int`, `long`)、浮点型(`float`, `double...

    Java常用算法手册(jb51.net)_Java常用算法手册_

    《Java常用算法手册》是一本面向Java初学者的算法指南,旨在通过深入浅出的方式,帮助读者理解并掌握各种常见的编程算法,从而提高他们的编程能力和解决问题的效率。这本书的覆盖范围广泛,涉及到算法基础、数据结构...

    java版数据结构

    Java版数据结构涵盖了计算机科学中数据结构与算法的基本概念,包括数据的组织、管理和操作。在使用Java语言的上下文中,数据结构通常指的是数据的逻辑结构以及数据操作的实现方法。 第一章主要介绍了Java语言的基础...

    Java语言数据结构与算法

    数组是最基本也是最常用的一种数据结构。它由相同类型的若干个元素组成,这些元素在内存中是连续存放的。通过下标(索引)可以快速访问到数组中的任何一个元素。在Java中,数组是一种基本的数据类型,可以通过声明、...

    数据结构与算法分析java版

    - **章节简介**:二叉树是一种常用的非线性数据结构,本章详细介绍了其特性和应用。 - **核心知识点**: - 二叉树的基本定义及性质 - 二叉搜索树的构建与查询 - 平衡二叉树的概念与平衡策略 - 二叉树的遍历方法...

Global site tag (gtag.js) - Google Analytics