Java集合
文章平均质量分 83
菠萝印象威
保持学习的习惯,保持乐观的态度。
展开
-
Java集合(3)
·ArrayList和Vector的区别这两个类都实现了List接口(List接口继承了Collection接口),都是有序集合1.线程安全Vector使用了Synchronized来实现线程同步,是线程安全,ArrayList是非线程安全2.性能ArrayList在性能方面优于Vector3.扩容:ArrayList和Vector都会根据实际的需求动态扩容,Vector每次增加1,ArrayList每次增加50%Vector类的所有方法都是同步的。可以由两个线程安全地访问一个Vector对象原创 2021-04-13 23:14:30 · 185 阅读 · 1 评论 -
Java集合(2)
·常用的集合类1.Collection接口的子接口包括Set接口和List接口2.Map接口的实现类有HashMap、TreeMap、Hashtable、ConcurrentHashMap和Properties3.Set接口的实现类有HashSet、TreeSet、LinkedHashSet4.List接口的实现类有ArrayList、LinkedList、Stack以及Vector·Collection集合1.Collection集合的子接口有Set、List、Queue三种子接口,常用为Se原创 2021-04-13 23:10:37 · 105 阅读 · 1 评论 -
Java集合(1)
集合框架用于存储数据的容器集合框架是为表示和操作集合而规定的一种统一的标准的体系结构任何集合框架都包含三大块:对外的接口、接口的实现和对集合运算的算法·接口:表示集合的抽象数据类型,操作集合时不关心具体实现,达到多态,接口通常用来形成规范·实现:集合接口的具体实现,是重用性很高的数据结构·算法:在实现集合框架中的接口的对象身上完成有用的计算方法,如查找,排序,算法是可复用函数·集合的特点1.对象封装数据,对象多了也需要存储,集合用于存储对象2.对象的个数确定可以使用数组,对象的个数不确定可原创 2021-04-13 23:07:20 · 90 阅读 · 2 评论 -
线程安全集合之CopyOnWriteArrayList详解
本篇文章主要介绍线程安全集合之CopyOnWriteArrayList前言:通过前面对Java集合的学习我们可以知道以下知识点:Map接口中的HashMap是线程不安全的,而HashTable、ConcurrentHash是线程安全的。同样的,对于Collection接口中,我们也知道ArrayList是线程不安全的,那么除了Vector是线程安全的,是否还有其他集合也是线程安全的呢?这里我们就要讲到List集合中的线程安全的集合CopyOnWriteArrayList一.CopyOnWriteA原创 2020-10-19 00:22:10 · 848 阅读 · 0 评论 -
HashMap线程不安全详细讲解
基于JDK1.7与JDK1.8HashMap线程安全问题前言通过学习HashMap,我们可以总结:HashMap是线程不安全的,而HashTable是线程安全的。那么,为何HashMap是线程不安全的呢?本篇文章通过JDK1.7和JDK1.8分别讲解为何HashMap是线程不安全的。一.JDK1.7分析HashMap线程不安全首先,先来看一下JDK1.7中HashMap的相关源码,只有通过源码,我们才能找出其中线程不安全的地方。1.底层数据结构只数组://空的存储实体 transient原创 2020-10-13 00:33:49 · 795 阅读 · 1 评论 -
HashMap通过value遍历key的两种方式
HashMap:通过key遍历value以及通过value遍历key实例演示一.通过key遍历value1.通过keySet取出 map元素使用for-each循环import java.util.*;import java.util.Set;import java.util.Map;public class HashMapExample { public static void main(String[] args){ Map<String,String>m原创 2020-09-22 23:03:21 · 2795 阅读 · 1 评论 -
HashMap实例演示---key-value的类型
HashMap实例演示—key-value的类型前言对于HashMap的基础学习,相信网上已经有很多很详细的讲解,包括各种深入的源码的分析,各种拓展知识,以及各种和面试官的针锋相对。在这里,我不在进行源码的分析,而是直接用案例向大家演示一下HashMap的实现,让大家带着实际案例学习,我认为这是一个好的学习方式。一.key为自定义对象,value为String类型我们知道,HashMap是以key-value类型进行元素存储的集合,而集合里一般是存储对象的,所以我先以自定义对象作为key,Str原创 2020-09-21 23:20:17 · 3930 阅读 · 0 评论 -
彻底理解HashMap中两大核心源码hash及indexFor算法
本篇文章主要讲解和实例演示HashMap两大核心源码:hash算法及indexFor算法,希望大家通过阅读本篇文章后,能够彻底理解这两大源码的方法和作用一.HashMap的介绍先简单过一下HashMap的概念,我们都知道Java集合有两大接口Collection和Map,本篇介绍的集合是实现Map接口的HashMap。特点:我们知道HashMap是用来存储键值对的一种集合,存入元素时,以key和value同时存入HashMap中。HashMap的作用(有什么好处我们为什么要用它):我之前的文章也介绍原创 2020-10-03 09:59:02 · 739 阅读 · 0 评论 -
ArrayList常见问题知识点
本篇文章主要收集关于JavaArrayList的常见问题前言本文主要以一问一答的方式来讲解ArrayList的常见问题,模拟面试官的提问,以及我们自己回答问题的方式。在学习完一个知识点后,我们需要学会处理相应的问题,以及学会如何应对面试官的提问。Q:ArrayList是什么?ArrayList是Java集合中的数组列表,实现了List接口,是用来存储数据的容器之一,底层的数据结构是数组。Q:ArrayList有什么特点?有序:按照顺序添加元素不唯一:同一元素可以存放多次查找和访问速度较快原创 2020-09-27 00:17:35 · 1386 阅读 · 1 评论