13.java类集 类集实际上是一个动态的对象数组,与一般的对象数组不同,类集中的对象内容可以任意扩充. 类集的特征: 1)这种框架是高性能的 2)框架必须允许不同类型的类集以相同的方式和高度互操作方式工作. 3)类集必须是容易扩展和修改的 类集框架的主要接口: 1)Collection 是存放一组 ...
分类:
编程语言 时间:
2017-04-14 19:22:52
阅读次数:
241
继续上一篇浅谈java类集框架和数据结构(1)的内容 上一篇博文简介了java类集框架几大常见集合框架,这一篇博文主要分析一些接口特性以及性能优化。 一:List接口 List是最常见的数据结构了,主要有最重要的三种实现:ArrayList,Vector,LinkedList,三种List均来自Ab ...
分类:
编程语言 时间:
2017-04-01 17:21:12
阅读次数:
286
1.1在介绍类集框架之前,先来思考这样一个问题,如果现在要保存一组对象,按照初级的做法只能使用对象数组,但是使用对象数组操作本身有一个限制,就是数组有长度的限制;而通过一些数据结构的操作,如链表,则可以完成动态对象数组的操作,但是这些如果全部由开发人员来做,肯定非常麻烦。 类集框架恰好解决了以上问题 ...
分类:
编程语言 时间:
2016-04-23 19:54:58
阅读次数:
255
LinkedListLinkedList基于双向循环链表实现。也可以被当做堆栈,队列或双端队列进行操作。非线程安全。下面直接贴ArrayList的Java实现(只贴了部分代码),来源JDK1.8.0_25/src.zip。 /** * ****双向链表对应的数据结构********* ...
分类:
编程语言 时间:
2015-05-24 21:40:43
阅读次数:
138
这几天学习了HashMap的底层实现,发现关于HashMap实现的博客还是很多的,但几乎都是JDK1.6版本的,而我的JDK版本是1.8.0_25,对比之下,发现Hashmap的实现变动较大。这篇博客断断续续写了一天,理解不当之处,欢迎指正。
在JDK1.6中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值...
分类:
编程语言 时间:
2015-05-21 22:45:40
阅读次数:
256
ArrayList
基于数组实现,本质上是对象引用的一个变长数组,能够动态的增加或减小其大小。
不是线程安全的,只能用在单线程环境下。多线程环境下可以考虑用Collection.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的
CopyOnWriteArrayList类
下面直接贴ArrayList的Jav...
分类:
编程语言 时间:
2015-05-20 22:23:49
阅读次数:
209
LinkedList
LinkedList基于双向循环链表实现。也可以被当做堆栈,队列或双端队列进行操作。非线程安全。下面直接贴ArrayList的Java实现(只贴了部分代码),来源JDK1.8.0_25/src.zip。
/**
* ****双向链表对应的数据结构*********
* 包含:节点值item
* 前驱 pre
* ...
分类:
编程语言 时间:
2015-05-20 22:22:46
阅读次数:
189
Java类集Collection接口List接口495
分类:
编程语言 时间:
2015-05-14 20:47:02
阅读次数:
126
JAVA类集框架 List、Set、Iterator、Map的简单理解1. Java类集框架主体结构:(1).集合(set):对象不按特定的当时排序,没有重复对象。
(2).列表(list):对象按照索引位置排序,可以有重复的对象。
(3).映射(map):每一个元素包含一个键对象和一个值对象,键不可以重复,值可以重复。2. Collection接口提供的方法如下:
3....
分类:
编程语言 时间:
2015-05-10 17:27:10
阅读次数:
196
一、系统简述:1.集合框架总体结构Java中集合类定义主要是java.util.*包下面,常用的集合在系统中定义了三大接口,这三类的区别是:java.util.Set接口及其子类,set提供的是一个无序的集合;java.util.List接口及其子类,List提供的是一个有序的集合;java.util.Map接口及其子..
分类:
编程语言 时间:
2015-02-27 01:38:56
阅读次数:
258