• 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,
  • 2024-12-13Java 面试题大揭秘(0-25):50 道常见面试题及答案解析
    亲爱的小伙伴们
  • 2024-12-12【java】 随笔 charAt,Random,ArrayList
    1.charAtcharch=str.charAt(i)  根据索引来获取字符串中的字符到ch中2.Random       Random类用来生成随机数字    (1)导包        importjava.util.Random;    (2)创建         Randomr=newRand
  • 2024-12-11leetcode61:旋转链表
    原题地址:61.旋转链表-力扣(LeetCode)题目描述给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。示例1:输入:head=[1,2,3,4,5],k=2输出:[4,5,1,2,3]示例2:输入:head=[0,1,2],k=4输出:[2,0,1]解题思路明确旋转规则:每次旋转,将
  • 2024-12-10ArrayList的常用成员方法
    1.ArrayList常用成员方法可以大致分为4种,增删改查1.增1.publicbooleanadd(Ee)将括号里的元素直接添加到集合中,添加的元素按照顺序依次排列。其中,E表示泛型<>里的类型,只能添加泛型限定的数据我们发现上图中即使没有使用变量接收返回值,也依旧能达成我们的目的。实际上,a
  • 2024-12-10Day44--练习--操作题(2)
    Day44--练习--操作题(2)当然可以,这里有一道稍微复杂一点的Java练习题,它将涉及到数组和循环的使用:题目:学生成绩管理系统要求:编写一个简单的学生成绩管理系统,该系统能够:输入学生的姓名和对应的成绩。显示所有学生的姓名和成绩。计算并显示所有学生的平均成绩。找出并显示成绩