最新文章列表

LinkedList源码分析

LinkedList适用于添加、删除比较频繁,随机访问不多的场合。 LinkedList扩展了AbstractSequentialList抽象类(提供了部分List接口的实现),实现了List,Deque,Cloneable,java.io.Serializable接口。 public class LinkedList<E> extends AbstractSequent ...
czj4451 评论(0) 有1407人浏览 2012-09-02 22:20

ArrayList的性能优化

    size、isEmpty、get、set、iterator 和 listIterator 操作都以固定时间运行。add 操作以分摊的固定时间运行,也就是说,添加 n 个元素需要 O(n) 时间。其他所有操作都以线性时间运行(大体上讲)。与用于LinkedList 实现的常数因子相比,此实现的常数因子较低。 每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它 ...
bestxiaok 评论(0) 有2099人浏览 2012-06-13 19:56

浅谈java集合框架

集合中存放的永远是对象的引用而不是对象本身。 1 ArrayList其实底层就是采用数组来实现的,当使用不带参数的构造方法创建ArrayList对象时,实际上会在底层生成一个长度为10的Object类型的数组。如果增加的元素的个数超过了10个,那么ArrayList底层会生成一个新的数组,长度为原数组的1.5倍+1,然后将原数组复制到新的数组当中去。2 对于ArrayList的元素操作来说,可 ...
happy_zack 评论(0) 有832人浏览 2012-05-31 13:44

用iterator实现遍历集合

使用Collection类的Iterator,可以方便的遍历Vector, ArrayList, LinkedList等集合元素,避免通过get()方法遍历时,针对每一种对象单独进行编码。 示例: Collection coll = new Vector(); //LinkedList(); //ArrayList(); coll.add("Tody"); c ...
liujiawinds 评论(0) 有1845人浏览 2012-04-14 09:34

边读边写【1】 ----java 集合包之深入List

一、java 集合包最常用的的2个接口Collection /和Map List接口 最常用的有ArrayList ,LinkedList, Vector,Stack ArrayList 的实现如下: public ArrayList(int initialCapacity) { ...
jiuyuehe 评论(0) 有2597人浏览 2012-04-09 11:14

结合JDK学习数据结构——线性表链式存储

     单链表比较简单,直接说双向循环链表,用c语言双向链表的结构定义如下: typedef struct DNode { ElemType data; struct DNode *priror, *next ; } DNode ,*DoubleList;       如果p指向双链表中某一节点,则有:p->prior->next = p = p->next- ...
javaroad 评论(0) 有1273人浏览 2012-03-26 23:05

ArrayList 和 LinkedList

今天有人问这个,发现自己只是大概理解而且只会用了。该忘的竟然忘得差不多了,翻翻书复习下。 对于处理一列数据项,Java提供了两个类ArrayList和LinkedList。 ArrayList的内部实现是基于内部数组Object[],所以从概念上讲,它更像数组、 但LinkedList的内部实现是基于一组连接的记录,所以,它更像一个链表结构,所以,它们在性能上有很大的差别。 在ArrayList ...
caiwb1990 评论(0) 有1746人浏览 2012-03-14 03:11

LinkedListDemo2

package LinkedListTest; import java.util.LinkedList; import LinkedListDemo.NewTitle; public class NewTitleTest { public static void main(String[] args) { //1创建多个各类新闻标题对象 NewTitle car=new NewTit ...
包涵 评论(0) 有847人浏览 2012-03-13 11:38

Java基础 笔记整理一:集合Set,List以及集合Map 第一部分

集合框架结构 Collectioin集合中有2个子集和,分别是Set和List。一般认为,Set与List重要区别是,Set存储的数据中没有重复的元素,而List中可以存储重复的元素。实际上,并非如此。下面举几个实例。 先看List(实现类有ArrayList,LinkedList,Stack)。 import java.util.*; public class TestList { p ...
crab1 评论(0) 有1312人浏览 2012-03-02 23:03

有环链表查找环

有环链表如何高效的判断是否有环,以及在何处产生环? 采用2个指针不同步数(步数小的每次1步,步数大的每次2步),步数大的如果能够与步数小的相遇则必然存在环。   相遇后的情况如图,假设相遇后步数大的回绕环遍历了n遍,步数小的肯定一遍也没遍历完,假设第一段距离为a,第2段距离为c,第3段距离为b 则有(a+c)*2 = a+n(b+c)+c,转换后得 a = n(b+c) - c, ...
madbluesky 评论(0) 有2150人浏览 2012-03-01 14:51

数据类型笔记一

connection | |      --------------------------- list         set |   | |   | --------------------             ------------------ | | |   |     ...
bing2012 评论(0) 有809人浏览 2012-02-20 13:10

线程阻塞队列的处理

   在日常事务中,我们常常依次做如下操作:  排队取得一个单号; 根据这个单号享有一个操作; 为当前的这个操作买单. 在Android中也一样,为了不阻塞主线程,我们把所有耗时行为都封装为多个线程,有的时候需要先运行线程A,根据得到的结果再运行线程B, 再根据B的结果运行线程C. 时序图如下:  如果我们在ThreadA结束前的代码中插入ThreadB.start, 再ThreadB的结束前的 ...
Ihavegotyou 评论(0) 有1496人浏览 2012-02-16 21:38

Java 遍历文件夹内文件

Java遍历文件夹的2种方法: import java.io.File; import java.util.LinkedList; public class FileSystem {     public static void main(String[] args) {                 long a = System.currentTimeMillis();         ...
dietime1943 评论(0) 有1749人浏览 2012-02-15 00:06

java 基础 集合

  ArrayList和LinkedList, ArrayList的内部实现是基于内部数组Object[] LinkedList的内部实现是基于一组链表结构 在ArrayList的前面或中间插入数据时,必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列   数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提 ...
q15106202446 评论(0) 有849人浏览 2012-01-18 11:09

Java源码分析之LinkedList

  LinkedList源码分析 1. 数据结构 1.1. 单链表 1.2. 双向链表 LinkedList采用的是双向链表模式,而每一个节点就是一个LinkedList类的一个私有静态的内部类Entry,Entry含有三个成员:E element (E就是申明变量时需要的泛型参数)、Entry next、Entry previous。 2. 类的申明 ...
xtuali 评论(0) 有1733人浏览 2011-12-15 15:04

【转】ArrayList,LinkedList,Vector 的关系和区别

ArrayList,LinkedList,Vector这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: 引用1. ArrayList底层是采用数组实现的(并且该数组的类型是Object类型的) 2. 如果是JDK 6.0的话,采用Array.of()方法来生成一个新的数组,如果是JDK 5.0的话,使用的是System.arraycopy方法(将数组拷贝) ...
foohsinglong 评论(0) 有1823人浏览 2011-12-07 18:06

LinkedList源码分析

  LinkedList源码分析     LinkedList是动态数组的另一种实现,底层以双向循环链表为实现基础,它的优势在于可以快速的删除和添加元素,不需要像ArrayList那样移动大量的元素,但对于查找元素需要逐个遍历链表中的元素,进行匹配。所以LinkedList适用于频繁删除和添加元素,较少查找元素的应用场景。     LinkedList内部使用Entry<E& ...
yuyiming1986 评论(0) 有3724人浏览 2011-12-03 11:34

java需要关注的知识点---LinkedList

LinkedList是采用双向链表来存储数据: LinkedList允许插入null的值 双向链表的结构图: LinkedList的构造函数: public LinkedList() { header.next = header.previous = header; } LinkedList在构造函数中初始化双向链表的表头header,指定header ...
sinly 评论(1) 有3271人浏览 2011-11-24 10:19

JDK源码 LinkedList

1.初始化一个空的节点header: private transient Entry<E> header = new Entry<E>(null, null, null); 该节点在《算法导论》里应该叫“哨兵节点”。
hongjn 评论(0) 有1182人浏览 2011-11-20 15:38

JAVA List

List使用 测试例子:TestList package ds.collections.lists; import java.util.ArrayList; import java.util.Enumeration; import java.util.Iterator; import java.util.LinkedList; import java.util.List ...
jiauwu 评论(1) 有3597人浏览 2011-11-07 21:40

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics