一、概述: LinkedList 与 ArrayList 一样实现 List 接口,只是 ArrayList 是 List 接口的大小可变数组的实现,LinkedList 是 List 接口链表的实现。基于链表实现的方式使得 LinkedList 在插入和删除时更优于 ArrayList,而随机访问 ...
分类:
其他好文 时间:
2019-11-15 22:16:48
阅读次数:
88
5、List的三个子类的特点 ArrayList底层结构是数组,底层查询块,增删慢。 LinkedList底层结构是链表型的,增删快,查询慢。 vector底层结构是数组,线程安全得,增删和查询都慢。 6、List和Map、Set的区别? 1)结构特点 : List和Set是存储单列数据的集合,Ma ...
分类:
编程语言 时间:
2019-11-12 00:43:19
阅读次数:
69
#include <stdio.h>#include <stdlib.h> typedef struct Node{ int data; struct Node *next; }Node, *LinkedList; LinkedList insert(LinkedList head, Node *n ...
分类:
其他好文 时间:
2019-11-10 11:57:26
阅读次数:
79
六、队列 排队,先进先出。除并发应用外Queue只有两个实现:LinkedList,PriorityQueue。他们的差异在于排序而非性能。 一些常用方法: 继承自Collection的方法: add 在尾部增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 remo ...
分类:
编程语言 时间:
2019-11-08 12:31:38
阅读次数:
65
LinkedList——底层是双链表结构 addFirst——添加到开头 addLast——添加到末尾 getFirst——获取开头元素 getLast——获取末尾元素 removeFirst——删除开头元素 removeLast——删除末尾元素 这些方法可以模拟栈与队列的结构 ...
分类:
其他好文 时间:
2019-11-07 23:49:45
阅读次数:
107
这是书上的一道练习题,要求创建一个双向链表数据结构Ring,它是一个环形的结构,Ring必须支持从当前位置单步地前进或回退。 add方法在当前元素之后添加元素,支持使用for-each。任何因环空而导致的无效操作,Ring类支持抛出适当的异常。 此外,不能继承LinkedList,也就是说只能自己单 ...
分类:
其他好文 时间:
2019-11-07 23:49:30
阅读次数:
144
一、前言 今天和朋友在写代码时突然发现List<object> list=new ArrayList<object>()中,前面是通过List引用来调用其子类ArrayList对象的方法(why)。心中十分困惑,查阅相关资料发现这便是java的多态原理。 二、多态 什么是多态? 百度上原话是:所谓多 ...
分类:
其他好文 时间:
2019-11-07 11:22:31
阅读次数:
89
82. Remove Duplicates from Sorted List II 跳过重复节点,返回head。 class Solution { public ListNode deleteDuplicates(ListNode head) { if(head == null || head.ne ...
分类:
其他好文 时间:
2019-11-04 17:09:45
阅读次数:
79
328. Odd Even Linked List “穿针引线” 1. odd指针穿奇数位 2.even指针穿偶数位 3.用evenHead记录第一个偶数位节点,最后用odd连接evenHead 注意判断空节点以及一个节点的情况。 class Solution { public ListNode o ...
分类:
其他好文 时间:
2019-11-04 13:36:35
阅读次数:
81
一、前言 分析了Map中主要的类之后,下面我们来分析Collection下面几种常见的类,如ArrayList、LinkedList、HashSet、TreeSet等。下面通过JDK源码来一起分析ArrayList底层是如何实现的。(PS:把JVM看完了之后终于可以有成片的时间来阅读源码了,感觉简直 ...
分类:
其他好文 时间:
2019-11-02 20:23:45
阅读次数:
91