文档章节

Java集合框架总结

bithup
 bithup
发布于 2017/05/08 16:18
字数 485
阅读 21
收藏 0

1.集合与数组的区别:数组可以存储同一种基本类型或同一种类型的对象,长度固定:
集合只存储对象,长度可变,而且对象可以是不同类型的。

2.Java.util包

3.接口:Collection、Comparator、Iterator、List、Map、Set、Queue

4.Java.lang.Iterrable<T>接口是java.util.Collection<E>的父接口

5.有序性:所有List集合都有序,Set和Map集合一般不具备有序性的,TreeSet和TreeMap使用了二叉排序树,具备有序性

6.元素重复性:List集合中元素可重复,Set集合元素不能重复,Map集合Key值不能重复,Value值可重复;

7.线程安全性:HashMap最多只允许一条记录的键为Null,允许多条记录的值为Null,是非同步的;Hashtable与HashMap类似,是HashMap的线程安全版,它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtale在写入时会比较慢,它继承自Dictionary类,不同的是它不允许记录的键或者值为null,同时效率较低

8.查找与插入的速度:底层使用数组实现的ArrayList查询速度快,底层使用链表实现的LinkedList增删速度快

9.总结:对集合的使用主要看集合的特性,如有序性和可重复性;性能问题和线程安全问题

 

map.put方法连续多次存入键名相同的键值对

        Map<String,String> m = new HashMap<>();
        m.put("a","a");
        m.put("a","b");
        System.out.println(m.get("a"));

最后输出的是b,后面存入的值会覆盖前面的值。

 

集合的默认初始长度以及每次增长的长度

ArrayList默认初始长度是10,增长1.5倍,其底层是一个Object数组

另:Java中创建数组是必须指明长度,或通过赋值来指明长度的

参考:http://blog.csdn.net/jdsjlzx/article/details/52675726

© 著作权归作者所有

bithup
粉丝 8
博文 101
码字总数 82172
作品 0
朝阳
程序员
私信 提问
你必须掌握的 21 个 Java 核心技术!(干货)

点击上方“java进阶架构师”,选择右上角“置顶公众号” 20大进阶架构专题每日送达 51闲来无事,师长一向不(没)喜(有)欢(钱)凑热闹,倒不如趁着这时候复盘复盘。而写这篇文章的目的是想...

Java进阶架构师
05/03
0
0
一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
2018/08/08
0
0
【Java学习路线】新手该如何一步步的学习 Java

新手该如何一步步的学习 Java? 如果真的想学Java,最好要循序渐进,有章有法的学习它! 今天小慕就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容。 首先,给大家分享一张以 企业...

Eddie_yang
2018/11/15
2.3K
0
你必须掌握的 21 个 Java 核心技术!

你必须掌握的 21 个 Java 核心技术! Java技术栈 2018-10-29 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Java。 ...

浮躁的码农
04/15
97
0
Java集合框架(一)——集合概述

本文概述 本篇文章将分三块内容对Java中的集合框架进行介绍: 一. 集合框架相关概念 二. 集合体系通用方法 三. 集合遍历—Iteractor 一. 集合框架相关概念 集合:用于存储多个对象的容器 1....

Mr_Yanger
2017/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

golang 不同mysql 连接库对比

待续

caucy
12分钟前
1
0
PHP JsonWebToken的实现

废话不多说,上码(thinkphp环境) <?phpnamespace app\index\controller;class Jwt{ /** * @var array jwt头部 */ private static $header = [ //生成signatu......

yehua11
16分钟前
2
0
gitlab docker Web界面打开反应迟钝的解决办法

参考:https://blog.csdn.net/happyfreeangel/article/details/88653846 解决办法: 修改gitlab的配置文件:gitlab.rb 位置在容器中的/etc/gitlab/config 使用容器时必须挂载到外面的存储,要...

bapleliu
16分钟前
1
0
AJAX 请求 浏览器F12 看不到返回值

最近在某某高校上线AA系统之后对于某一个接口,有的时候可以界面可以正常渲染并展示正确的数据,偶尔不行。 前端开发人员打开浏览F12,指着屏幕说,AJAX请求了没有返回呀,这个要后端看看到底...

特拉仔
22分钟前
3
0
好程序员Java学习路线分享JVM类加载机制

好程序员Jav学习路线分享JVM类加载机制JVM相关概念 - jdk<br> jdk(Java Development Kit)Java开发包,是Java开发人员用于编译和调试程序的一套程序的集合。 - jre<br> jre(Java Runtime ...

好程序员官方
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部