当前位置: 首页 > news >正文

Java基础知识总结(13)

数据结构

链表

优点:随机增删元素效率高(因为增删元素不涉及到大量元素的位移)

缺点:查询效率较低,每一次查找某个元素的时候都需要从头结点开始往下遍历

LinkedList集合

/*
链表的优点:
由于链表的元素在在空间存储上内存地址不连续。
所以随机存储增删元素的时候不会有大量数据的位移,所以随机增删效率较高
在以后的开发过程中,如果遇到随机增删集合中元素的业务比较多时,建议使用LinkedList
链表的缺点:
不能通过数学表达式计算被查找元素的内存地址,每一次查找都是从头结点开始遍历,直到找到为止。所以LinkedList集合检索/查找的效率较低
ArrayList:把检索发挥到极致。(末尾添加元素效率还是很高的)
LinkedList:把随机增删发挥到极致
加元素都是往末尾添加,所以ArrayList用的比LinkedList多
​
源码中,first 指向头结点 last结点始终指向尾结点
* */
class LinkedListTest {public static void main(String[] args) {//List list = new LinkedList(); 底层用了数组List list = new LinkedList();//底层用了双向链表list.add("a");list.add("b");list.add("c");for(int i = 0;i<list.size();i++){Object obj = list.get(i);System.out.println(obj);}//LinkedList没有初始化容量//最初的这个链表中没有任何元素。first和last的引用都是null//不管是ArrayList还是LinkedList,以后写代码时不需要关心具体是哪个集合//因为我们要面向接口编程,调用的方法都是接口中的方法}
}
http://www.lryc.cn/news/323407.html

相关文章:

  • 杰发科技AC7801——Keil编译的Hex大小如何计算
  • opengl 学习(六)-----坐标系统与摄像机
  • 分库分表场景下多维查询解决方案(用户+商户)
  • vue学习日记14:工程化开发脚手架Vue CLI
  • java Flink(四十三)Flink Interval Join源码解析以及简单实例
  • JsonUtility.ToJson 和UnityWebRequest 踩过的坑记录
  • 面试算法-69-三角形最小路径和
  • 流畅的 Python 第二版(GPT 重译)(九)
  • 单片机学到什么程度才可以去工作?
  • 内网穿透方案
  • WordPress菜单函数wp_nav_menu各参数
  • 类于对象(上)--- 类的定义、访问限定符、计算类和对象的大小、this指针
  • 提升交付效率:Booking.com 金融技术团队的成功实践
  • 【消息队列开发】 实现ConsumerManager类——消费消息的核心逻辑
  • 【Three.js】使用精灵图Sprite创建面朝相机的文本标注
  • C++中的类模板
  • 【每日一题】好子数组的最大分数
  • Vue2(七):超详细vue开发环境搭建(win7),nodejs下载与安装,安装淘宝镜像(报错已解决),配置脚手架
  • 【Web】记录CISCN 2021 总决赛 ezj4va题目复现——AspectJWeaver
  • 视频技术1:使用ABLMediaServer推流rtsp
  • HTML5+CSS3+JS小实例:创意罗盘时钟
  • 设计数据库之内部模式:SQL基本操作
  • Git浅谈配置文件和免密登录
  • 【好玩的经典游戏】Docker环境下部署RPG网页小游戏
  • 前端逻辑错误或UI崩溃解决问题
  • python爬取QQ音乐评论信息
  • Unity构建详解(1)——SBP介绍
  • 贪心算法(算法竞赛、蓝桥杯)--奶牛晒衣服
  • Redis列表:高效消息通信与实时数据处理的利器
  • Redis中的缓存雪崩