- 2025-01-13java ArrayList集合
ArrayList是Java中最常用的集合类之一,它位于java.util包中,属于List接口的实现类。ArrayList基于数组实现,可以动态调整大小,允许存储重复元素,并支持快速的随机访问操作。集合和数组的优势对比:长度可变添加数据的时候不需要考虑索引,默认将数据添加到末尾下面详细介
- 2025-01-12JAVA之集合
1、集合集合可以存储引用数据类型;集合不可以存储基本数据类型,若要存储,需封装成包装类;2、集合和数组的对比长度【数组长度固定,集合长度可变】存储类型【数组可以存基本数据类型和引用数据类型,集合可以存引用数据类型,若存储基本数据类型,需封装成包装类】3、ArrayList【打
- 2025-01-1105容器篇(D2_集合 - D6_容器源码分析篇 - D2_LinkedList)
目录本章目标一、基本介绍二、原理分析1.数据结构2.默认容量&最大容量3.扩容机制4.为什么LinkedList查询慢,增删快?1>为什么增删快?2>为什么查询慢?三、经典大厂面试题1.ArrayList的JDK1.8之前与之后的实现区别?2.List和Map区别?3.Array和ArrayList有何
- 2025-01-11Java基础:Iterator迭代器
一、什么是Iterator:迭代器(Iterator)是一个对象,它的工作是遍历并目标序列中的对象,它提供了一种访问一个容器(container)对象中的各个元素的方法,把访问逻辑从不同类型的集合类中抽象出来,又不必暴露该对象内部细节。通过迭代器,开发人员不需要了解容器底层的结构,就可以实现对容器
- 2025-01-11Java学习,数组转集合
Java中将数组转换为集合(例如 List)是一项常见的操作。Java提供了多种方法来实现这一功能,其中最简单和常用的方法是使用 java.util.Arrays 类和 java.util.Collections 类中的静态方法。数组转集合,示例:importjava.util.List;importjava.util.ArrayList;importjava.u
- 2025-01-09Java集合面试题集——2025最新大厂面试
1.集合框架2. ArrayList和LinkedList2.1 源码分析成员变量<spanstyle="color:#000000"><spanstyle="background-color:#282c34"><codeclass="language-java"><spanstyle="color:#5c6370">//Defaultinitial
- 2025-01-09leetcode131 分割回文串
leetcode131思路:回溯比如说aab,对于每个元素currentNum,有两种选择:1.如果currentNum<len-1,可以将当前元素加入到currentStr中,然后dfs(start,currentNum+1)。而currentNum==len-1时不能dfs(start,currentNum+1),这样下一轮循环就执行以下代码了if(currentNum==len){ ans.add
- 2025-01-06ArrayList源码解析-JDK18
引言ArrayList在JDK1.7和1.8中的差距并不大,主要差距以下几个方面:JDK1.7在JDK1.7中,使用ArrayListlist=newArrayList()创建List集合时,底层直接创建了长度是10的Object[]数组elementData;在接下来调用add()方法向集合中添加元素时,如果本次的添加导致底层elementData数组
- 2025-01-05你内部啥样跟我没关系 - 迭代器模式(Iterator Pattern)
迭代器模式(IteratorPattern)迭代器模式(IteratorPattern)迭代器模式概述迭代器模式结构图迭代器模式涉及的角色talkischeap,showyoumycode总结迭代器模式(IteratorPattern)迭代器模式(IteratorPattern)是一种行为型设计模式,它提供了一种方法顺序访问一个聚合对象
- 2025-01-04【java-数据结构篇】神奇 ArrayList,一键打印扑克牌花色与点数
我的个人主页我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤收藏❤前言:在编程的奇妙世界里,数据结构如同精巧的积木,搭建起各类功能的大厦。而ArrayList,作为其中一块极为实用的“积木”,拥有着独特的魅力与强大的功能。当我们将目光投向生活中的趣味场景——扑克牌
- 2025-01-04Java中高级面试题部分答案解析
List和Set比较,各自的子类比较对比一:Arraylist与LinkedList的比较1.rrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。2、因为地址连续,ArrayList要移动数据,所以插入和删除操作效率比较低。3、LinkedList基于
- 2025-01-03Java集合 —— ArrayList详解(源码)
我这里阅读的是JDK17关于ArrayList的源码,不过思路都是一样的简介 ArrayList是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList继承了AbstractList,并实现了List接口。属性设置//序列化Idprivatestatic
- 2025-01-02列表、集合与映射:存储你的Java宝藏
1集合框架概览Java集合框架主要由以下几个部分组成:List:一个有序的集合,可以包含重复的元素。Set:一个不允许重复的集合,没有固定的顺序。Map:一个键值对集合,键是唯一的,每个键映射到一个值。2List接口List接口是一个有序的集合,可以包含重复的元素。List提供了一系列
- 2024-12-31Java List 集合详解:基础用法、常见实现类与高频面试题解析
正文在Java集合框架中,List是一个非常重要的接口,广泛用于存储有序的元素集合。本文将带你深入了解List接口的基本用法、常见实现类及其扩展,同时通过实际代码示例帮助你快速掌握这些知识。
- 2024-12-30Java List 分片工具类
JavaList分片工具类为了将一个大的List分组为多个小的List,每个小List的大小为50,我们可以使用Java中的subList方法来实现。以下是详细的实现步骤和代码示例:实现步骤确定原List的大小:获取原List的大小,以便确定需要分成多少个小组。使用循环分组:使用一个循环,每次取50个元素,
- 2024-12-28Java集合
Java集合单列集合ListArrayListLinkedListVectorArrayList、LinkedList、Vector区别SetHashSetLinkedHashSet双列集合HashMap常用API方法哈希冲突HashMap特点TreeMap单列集合数据存储在一列,继承Collection接口CollectionList:存储列表数据ArrayList:底层数
- 2024-12-27java面试题-集合篇
Collection1.Collection有哪些类?Java集合框架中的Collection接口是所有集合类的基础接口,定义了一些基本的集合操作,如添加元素、删除元素、判断是否包含某个元素等。常见的集合类包括List、Set和Queue。ListList接口定义了按照索引访问和操作元素的方法。它允许元素重复,
- 2024-12-26alpha 第九章 集合
ArrayList<String>list=newArrayList<>();与ArrayList的区别: 同步性:Vector是同步的,支持多线程并发访问。而ArrayList是异步的,因而ArrayList中的对象是线程不安全的 效率:Vector的执行效率比ArrayList差 数据增长:添加新元素时,当数组容量不够时需要扩容时,Vector缺省
- 2024-12-25一个 Bug JDK 居然改了十年?
问题现象今天偶然看到了一个JDK的Bug,给大家分享一下。假设现在有如下的代码:List<String>list=newArrayList<>();list.add("1");Object[]array=list.toArray();array[0]=1;System.out.println(Arrays.toString(array));上面的代码是可以正常支执行的,如下图所
- 2024-12-2312. 泛型常用特点
泛型是JavaSE1.5之后的特性,《Java核心技术》中对泛型的定义是:“泛型”意味着编写的代码可以被不同类型的对象所重用。“泛型”,顾名思义,“泛指的类型”。我们提供了泛指的概念,但具体执行的时候却可以有具体的规则来约束,比如我们用的非常多的ArrayList就是个泛型类,ArrayList
- 2024-12-222. List
Java的List是非常常用的数据类型,List是有序的集合,可以包含重复的元素,提供了按索引访问的方式,继承自Collection。JavaList一共三个实现类:分别是ArrayList、Vector和LinkedList。ArrayList(数组)ArrayList是最常用的List实现类,内部是通过Array(数组)实现的,Array(数组)是基于索
- 2024-12-21【老白学 Java】泛型应用 - 卡拉 OK(三)
泛型应用-卡拉OK(三)文章来源:《HeadFirstJava》修炼感悟。上文说到,正当老白为编译错误焦头烂额时,事情有了转机。老白在API中找到了答案,终于弄清楚了v3.0编译错误的原因。为了以后不会忘记,特地在这里留下记录方便随时翻看。一、原来是泛型惹的「祸」为了保证集
- 2024-12-19常见八股文02
11.线程状态新建状态、就绪状态,运行状态,死亡状态,中间还可以产生堵塞。(哪些方法可能产生堵塞,wait、sleep、IO等等)12.实现线程方式继承Thread类、重写Runnable接口、Callable接口、通过线程池启动多线池。13.线程死锁原因系统资源不足、资源分配不当、线程推进顺序不当14
- 2024-12-18【老白学 Java】集合应用 - 卡拉 OK(一)
集合应用-卡拉OK(一)文章来源:《HeadFirstJava》修炼感悟。最近老白准备研究一下Java集合和泛型的相关知识。为了增加学习乐趣,老白通过一些小案例来了解集合类的基本用法。本篇文章打算编写一个简单的曲目处理程序,其中使用到了类库中的排序方法。一、显示点唱曲目
- 2024-12-15三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i],nums[j],nums[k]] 满足 i!=j、i!=k 且 j!=k ,同时还满足 nums[i]+nums[j]+nums[k]==0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,