自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 去除有序数组的重复数字

去除有序数组的重复数字一、理解题目二、解题思路1.双指针2.代码3.优化一、理解题目给你一个有序数组 nums ,请你原地删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。二、解题思路1.双指针解释:创建两个指针i,j。分别指向数组的前两个元素,进行循环比较,如果指针元素相同,则指针 j 向后移动:j+1,。如果不同,此时数组指针 i 的后一位等于此时指针 j 所对应的值 nu..

2021-11-18 11:30:50 1084

原创 LinkedHashSet集合

LinkedHashSet一、LinkedHashSet简介二、实例操作一、LinkedHashSet简介具有可预知迭代顺序的Set接口的哈希表和链表列表实现。此实现与HashSet不同的是,后者维护着一个运行于所有条目的双重链表列表。此链表定义了迭代顺序。LinkedHashSet集合中的方法和HashSet集合是一样,我们下面来看一看他们的区别是什么。LinkedHashSet集合特点:底层是一个哈希表(数组+链表/红黑树)+链表,多了一条链表记录元素存储的顺序,保证元素有序二、实例操作首

2021-09-08 16:24:17 521

原创 HashSet存储自定义类型元素

HashSet存储自定义类型元素前言一、实例操作二、使用步骤1.引入库2.读入数据总结前言set集合保证元素为一,存储的元素可以是String,Integer…或自定义如Student,Teacher,必须重写hashCode和equals方法。所以当我们存储自定义类型的元素时,必须重写hashCode和equals方法。一、实例操作举例:我们认定学生的姓名和年龄是一样时,确定为同一个人,只能存储一次二、使用步骤1.引入库代码如下(示例):import numpy as npimport

2021-09-08 16:04:33 781

原创 Set集合不允许存储重复元素的原理

Set集合不允许存储重复元素的原理前言实际操作前言我们之前使用Set集合的时候发现,Set集合的特点是不允许存储重复元素,这是为什么呢,下面我们一起来研究一下。实际操作代码如下(示例)://创建hashset集合对象 HashSet<String> set = new HashSet<>(); String s1=new String("abc"); String s2=new String("abc");

2021-09-08 15:26:41 4196

原创 HashSet集合存储数据的结构(哈希表)

HashSet集合存储数据的结构(哈希表)哈希表哈希表在jdk1.8版本之前,哈希表=数组+链表结构在jdk1.8版本之后,值得注意的是。哈希表也=数组+链表,但是呢哈希表还=数组+红黑树(提高查询的速度)所以说哈希表的特点:查询速度快因为是一个集合,所以我们先画一个容器数组结构他把元素进行分组,相同哈希值的元素是一组。链表/红黑树结构把相同哈希值的元素链接到一起,存储数据到集合中,先计算元素的哈希值。随后当我们储存时,将哈希值放到数组中,当我们存储元素时,会将哈希值相同的元素挂在数组的下

2021-09-08 14:59:18 914

原创 哈希值(hashCode)

哈希值一、哈希值简介二、实例简单的object继承类总结一、哈希值简介哈希值是一个十进制的整数,有系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来的地址,不是数据实际存储的物理地址)在Object类中有一个方法可以获取对象的哈希值。代码如下(示例): public native int hashCode();public native int hashCode();native:代表该方法调用的是本地操作系统的方法二、实例简单的object继承类代码如下(示例):

2021-09-07 18:57:24 14131 3

原创 HashSet集合介绍

HashSet集合介绍一、Set接口介绍二、HashSet集合介绍一、Set接口介绍Set接口和List接口一样,都是继承自Collection接口,他与Collection接口中的方法基本一致,并没有在Collection接口上进行功能扩充。与List接口不同的是,Set接口中的元素无序,并且都以某种规则保证存入的元素不重复。二、HashSet集合介绍HashSet是Set接口的一个实现类,他所存储的元素不能重复,并且元素时无序的。HashSet底层的实现其实是一个HashMap(哈希表)支持。

2021-09-07 18:27:56 410

原创 LinkedList集合

LinkedList集合一、LinkedList简介?二、代码实现1.add方法2.get方法3.remove方法一、LinkedList简介?LinkedList集合数据存储结构是链表结构,他的特点是增删快,查询慢。值得注意的是,此实现不是同步的,这意味着他是一个多线程,速度十分的快。LinkedList是一个双向链表,结构如图所示:因为他们都是用链表相连接,多个节点链在一起,虽然他的查询慢,但是我们找到首尾元素是非常的快的,所以他的方法有大量的首尾数据的操作方法。public void a

2021-09-03 16:45:36 315

原创 ArrayList集合

AarryList集合一、ArrayList集合介绍二、源码分析一、ArrayList集合介绍ArrayList集合数据存储的方式是数组结构。它的特点是元素增删慢,查找快。是我们在日常开发中使用最多数组。常用的功能为查询数据,遍历数据,所以ArrayList是最常用的集合。ArrayList是list接口的实现类,list接口的大小可变数组的实现。实现了所有可选列表的操作,并包括null在内的所有的元素。除了实现list接口外,此类还提供一些方法来操作内部用来存储列表的数组大小。(此类大致等同于Ve

2021-09-03 15:48:50 217

原创 List集合

List集合一、List集合简介二、代码实现1.add(int index, Object ele)2.Object get(int index)3.Object remove(int index)4.Object set(int index, Object ele)5.注意异常一、List集合简介List接口是继承Collection接口,是一种单列集合。在List集合中所有元素都是一种线性方式进行存储的,可以通过索引来进行访问。List的集合有以下特点:他是一个有序集合。例如集合元素是1,2,

2021-09-02 18:31:01 515

原创 JAVA斗地主案例(单列)

斗地主案例一、案例分析二、代码实现一、案例分析准备牌扑克牌:54张特殊派:大王,小王花色:“♥”,“♠”,“♣”,“♦”数字:“A”,“2”,“K”…“3”我们只需要嵌套遍历花色和数字的数组,并且两两组合,就可以得到牌的点数。洗牌使用集合工具类Collections的shuffle()方法对指定数据源进行随机置换。打乱集合中元素的顺序洗牌分析:每人17张牌,剩余3张牌为底牌选择判断条件:选择三种结果,即索引%3 其条件为0 1 2,分别对应三位玩家当索引>=51

2021-08-31 18:46:16 409

原创 Iterator迭代器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Iterator迭代器前言一、什么是迭代器?二、迭代器使用步骤(重要)1.代码实现2.循环优化总结前言毕业工作也有半年时间,回头复习复习基础,在这里记录一下一、什么是迭代器?Iterator是一个Collection集合元素的通用获取方式。再取出元素之前先判断集合中有没有元素,如果有,就把这个元素取出来,然后再继续判断。一直把集合中的所有元素都取出来。这种取出方式专业术语称为迭代、Iterator接口常用的方法如下:E N

2021-08-31 16:17:41 388

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除