retainAll方法简介 当我们有两个list集合的时候,我们可以使用retainAll方法求得两个list集合的子集。retainAll是Collection接口中提供的一个方法,各个实现类有自己的实现方式,我们这里介绍ArrayList的实现方式。 retainAll源码深入 可以看到coll ...
分类:
编程语言 时间:
2020-05-15 09:31:33
阅读次数:
75
一、ArrayList的一个不安全的案例 ? 我们都知道 ArrayList 是一个线程不安全的集合类,下面是一段 ArrayList 不安全的代码: ? 我们可以看到运行结果报错,错误为并发修改异常 ,如下图所示: 二、解决线程不安全问题 ? 可以通过以下三个方法解决 ArrayList 线程不安 ...
分类:
编程语言 时间:
2020-05-14 19:11:27
阅读次数:
80
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除 ...
分类:
编程语言 时间:
2020-05-14 15:28:44
阅读次数:
63
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 限制: 0 arr = new ArrayList(); public int[] reversePrint(ListNode head) { helper(head); int[] ans = new int[arr ...
分类:
其他好文 时间:
2020-05-13 23:15:25
阅读次数:
53
1 package com.itheima.demo04.ObjectStream; 2 3 import java.io.*; 4 import java.util.ArrayList; 5 6 /* 7 练习:序列化集合 8 当我们想在文件中保存多个对象的时候 9 可以把多个对象存储到一个集合中 ...
分类:
其他好文 时间:
2020-05-13 20:03:14
阅读次数:
59
各位好,贪心算法可以说是处处学到,被面试频频问道,接下来回顾以下,并上代码: 1 package com.clb.ai.algorithm; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import java.util.Map ...
分类:
编程语言 时间:
2020-05-13 19:54:33
阅读次数:
69
1. 常用接口 (1)CollectionCollection 层次结构 中的根接口。 (2)Iterator对 collection 进行迭代的迭代器。 (3)List有序的 collection(也称为序列)。 (4)Map<K,V>将键映射到值的对象。 (5)Map.Entry<K,V>映射项 ...
分类:
编程语言 时间:
2020-05-13 19:52:04
阅读次数:
60
List接口 List接口:元素有序,可重复,集合中每个元素都有其对应的索引。 常用实现类有:ArrayList、LinkedList、Vector。 ArrayList源码 JDK 1.7情况下: 使用空参构造器创建集合,底层创建了长度为10的Object类型数组elementData。 扩容机制 ...
分类:
其他好文 时间:
2020-05-12 20:42:59
阅读次数:
71
Vector、ArrayList使用数组存储,插入效率低;LinkedList使用链表存储,插入效率高Vector线程安全,Arraylist非线程安全,Vector比ArrayList性能低ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,
分类:
其他好文 时间:
2020-05-12 20:25:02
阅读次数:
73
1.List<Map<String,Object>>格式 Map<String,Object> map= new HashMap<>(); List<Map<String,Object>> list= new ArrayList<>(); map.put("count",1); //排序 Compa ...
分类:
编程语言 时间:
2020-05-12 17:17:33
阅读次数:
340