java数据结构
1.链表,LinkedList实现了List接口,同意null元素,提供了get()、remove()、insert()方法,没有同步方法
2.数组列表,ArrayList,能够动态变化容量的数组,非同步的
数组列表中存放的是Object类型,因此在数组列表中存放的对象类型,以其原型的父类取代,提取当中的元素时要进行类型转换
二、Set接口,不包括反复元素的Collection接口
1.散列集,HashSet,实现了Set接口,非线性同步
与链表和数组列表差点儿类似,但在数据处理时,比使用链表进行数据处理花费时间更短,处理大数据时通常使用散列集
2.树集,TreeSet,实现了Set接口,实现了排序功能,该集合中的元素默认按升序排列元素
使用树集数据结构的对象,须要实现Comparable接口,树集输出的数据都是经过排序的
三、Map接口,没有继承Collection接口,其提供key到value的映射,Map中不能包括同样的key,每一个key仅仅能映射一个value。
1.散列表类,HashTable,继承了Map接口,非空(non-null)的对象都可作为key或value,是同步的
加入数据:put(key,value);
取出数据:get(key);
特点:无序的,因此能够高速查找特定的元素
构造函数:Hashtable(),初始容量11,负载因子0.75,即散列表中已经有75%的位置被放满,则进行再散列。
负载因子越高(越接近1),则内存使用率越高,元素的寻找时间越长,反之,则内存浪费越多,寻找时间越短
key的对象将通过计算散函数确定与之相应的value位置 ,因此key的对象须要实现hashCode()和equals()方法。
两个对象同样,则它们的hashCode必须同样;两个对象不同,则它们的hashCode不一定不同。
冲突:不同对象的hashCode同样,则称为冲突,冲突将导致操作散列表的时间开销增大。因此要同一时候复写equals()和hashCode()方法
2.散列映射类,HashMap,与HashTable类似,不是HashMap是非同步的,且同意null
3.树映像,TreeMap,输出的数据依照keyword排序了
相关文章
- Java实现蓝桥杯模拟组织晚会
- Java实现 LeetCode 211 添加与搜索单词 - 数据结构设计
- Java实现 LeetCode 211 添加与搜索单词 - 数据结构设计
- Java实现 蓝桥杯 算法提高 递推求值
- 蓝桥杯(Java方法、详细解法分析)基础练习 阶乘计算
- 【JAVA】java中char类型数组用数组名打印结果不是地址值而是数组内容
- 【JAVA】 02-Java对象细节
- linux系统部署Java程序获取ip时报Caused by: java.net.UnknownHostException: XXXXXXXXXX: XXXXXXXXXX: Name or service not known
- 【学习总结】java数据结构和算法-第二章-数据结构和算法概述
- 【学习总结】java数据结构和算法-第一章-内容介绍和授课方式
- 【JAVA】java编译错误:编码UTF8/GBK的不可映射字符
- 逆天:蘑菇街下单平台演进,从PHP到Java
- Atitit web httphandler的实现 java python node.js c# net php 目录 1.1. Java 过滤器 servelet1 1.2. Python的
- java 导出excel(读数据库案例)
- Interview:Java岗位面试—面试求职攻略之一个JAVA程序员面试心得(非常值得收藏)
- 【java】Java生成微信小程序二维码
- 【 华为OD机试 2023】 递增字符串(C++ Java JavaScript Python)
- Java的递归算法
- Java 数据结构
- 【java】Java 接口(Interface)
- 【java】Java 集合框架
- Java在控制台输出带颜色字符的2种方式详解
- JAVA开发讲义(一)-Java的自白
- Java开发 | 数据结构和算法之——递归算法