# Java数据结构基础

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/22180.html | 发布：2023-07-19 | 更新：2023-07-19 | 分类：建站教程

数据结构是计算机内存或磁盘中存储、组织数据的方式。常用的数据结构如数组、链表、栈、队列、树等等。今天和大家分享和交流一下java语言中常用的数据结构如数组、List(列表)、Map(键值对)、Set及其继承类库,简述它们的特点及项目开发中常见的用途。

 

1.判断是否为空

 

大家都知道判断字符串是否为空:  
str == null || "".euqals(str) || str.length <= 0 || str.isEmpty(),  
首先需要判断在内存中是否有指向,即是否是一个对象,然后判断该字符串是否为空字符串。  
同理:

 

判断数组为空:arr ==null || arr.length ==0

 

同理不为空:arr != null && arr.length>0

 

判断List为空:null == list || list.size() == 0 || list.isEmpty()

 

判断List不为空:list != null && !list.isEmpty()  
   
判断Map为空:null == map || map.size() == 0 || map.siEmpty()

 

判断Map不为空:map != null && !map.isEmpty()

 

判断Set为空:null == set || set.size() == 0 || set.siEmpty()

 

判断Set不为空:set != null && !set.isEmpty()

 

2.常用类库

 

(一)List是元素有序、可重复、可为null的集合;

 

①ArrayList   
继承AbstractList实现了List、RandomAccess、Cloneable、Serializble等接口。  
特性:本质是一个数组;可被随机访问、能被克隆、支持序列化、容量可以动态增长、非线程安全。

 

②LinkedList   
继承AbstractSequentialList实现了List、Deque、Cloneable、Serializable等接口。  
特性:本质是一个双向链表;支持序列化,能被克隆,非线程安全的。

 

③Vector   
继承AbstractList实现了List、RandomAccess、Cloneable等接口。  
特性:本质是一个队列;可被随机访问,能被克隆,且线程安全。

 

④Stack   
继承于Vector,读者可参考上  
特性:本质是一个栈,具有"先进后出"的特性。

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
