自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java中的ArrayList与LinkedList

开始ArrayList与LinkedList是两种不同的List接口的实现类,具体各自的实现接口和继承类见下图:通过继承及实现关系我们可以得知其各自特性的来源。ArrayListArrayList在实例化时可以指定初始容量,如果不指定初始容量,会使用默认的初始容量,其默认的初始容量为10.当其中的元素达到容量上限时,如果再有新元素加入时,ArrayList会自动扩容,你也可以通过ens...

2019-08-09 19:38:31 348

原创 二分查找其中的一种简单模板 【leetcode】

二分查找是什么在计算机科学中,二分搜索(英语:binary search),也称折半搜索(英语:half-interval search)、对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找...

2019-07-11 21:30:54 411

原创 使用ArrayList设计一个存储int类型的哈希集合【leetcode】 【705. Design HashSet】

不使用任何内建的哈希表库设计一个哈希集合具体地说,你的设计应该包含以下的功能add(value):向哈希集合中插入一个值。contains(value) :返回哈希集合中是否存在这个值。remove(value):将给定值从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。示例:MyHashSet hashSet = new MyHashSet();hashSet.add(1)...

2019-05-31 21:57:14 1022

原创 使用int或其包装类实现一个双向链表【leetcode】707设计链表

设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。...

2019-05-30 21:19:42 973

原创 使用int或其包装类实现一个单向链表【leetcode】707设计链表

设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。...

2019-05-28 19:35:11 1096

原创 队列及其简介以及 : 使用int[] 设计一个循环队列 【leetcode 622. 设计循环队列】【622. Design Circular Queue】

队列简介队列是一种先进先出(FIFO)的数据结构。在 FIFO 数据结构中,将首先处理添加到队列中的第一个元素。如上图所示,队列是典型的 FIFO 数据结构。插入(insert)操作也称作入队(enqueue),新元素始终被添加在队列的末尾。 删除(delete)操作也被称为出队(dequeue)。 你只能移除第一个元素。队列的实现为了实现队列,我们可以使用动态数组和指向队列头部的索引...

2019-05-18 21:15:50 2030

转载 Java:String、StringBuffer和StringBuilder的区别

文章转载自:作者:kingzone_2008来源:CSDN原文:https://blog.csdn.net/kingzone_2008/article/details/92206911 StringString:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。String类的包含如下定义:/** The value is used for cha...

2019-05-17 21:27:32 1997

原创 利用双指针技巧解决数组和字符串中的一些问题【Java】【leetcode】【双指针技巧】

双指针技巧 一双指针技巧 —— 情景一问题:反转数组中的元素。分析:其思想是将第一个元素与末尾进行交换,再向前移动到下一个元素,并不断地交换,直到它到达中间位置。我们可以同时使用两个指针来完成迭代:一个从第一个元素开始,另一个从最后一个元素开始。持续交换它们所指向的元素,直到这两个指针相遇。总结:总之,使用双指针技巧的典型场景之一是你想要从两端向中间迭代数组。这时你可以使用双指针技巧:...

2019-05-16 21:24:19 2923

原创 字符串相关操作 使用KMP算法对字符串进行匹配 【字符串】【Java】【leetcode】【KMP】

字符串简介字符串实际上是一个unicode 字符数组。你可以执行几乎所有我们在数组中使用的操作。然而,二者之间还是存在一些区别。在这篇文章中,我们将介绍一些在处理字符串时应该注意的问题。这些特性在不同的语言之间可能有很大不同。字符串的三个练习1、实现strStr() ( Implement strStr())实现 strStr() 函数。给定一个 haystack 字符串和一个 n...

2019-05-12 17:40:44 2720

原创 利用oop思想实现的一个小demo【demo图书管理系统】

import java.text.SimpleDateFormat;import java.util.*;public class Exp05BookManageSys { public static void main(String[] args) { Map<String, BookInfo> map = new LinkedHashMap<&g...

2019-05-10 22:03:39 3656

原创 数组相关知识回顾【二维数组】【java】【leetcode】

二维数组简介类似于一维数组,二维数组也是由元素的序列组成。但是这些元素可以排列在矩形网格中而不是直线上。二维数组在Java中的原理在Java中,二维数组实际上是包含着 M 个元素的一维数组,每个元素都是包含有 N 个整数的数组。二维数组的两个练习螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[ [...

2019-05-09 22:50:50 3511

原创 数组相关知识回顾【一维数组】【java】【leetcode】

数组简介数组是一种基本的数据结构,用于按顺序存储元素的集合。但是元素可以随机存取,因为数组中的每个元素都可以通过数组索引来识别。数组可以有一个或多个维度。这里我们从一维数组开始,它也被称为线性数组。动态数组简介数组具有固定的容量,我们需要在初始化时指定数组的大小。有时它会非常不方便并可能造成浪费。因此,大多数编程语言都提供内置的动态数组,它仍然是一个随机存取的列表数据结构,但大小是可变的...

2019-05-07 21:17:50 3378

原创 通过IO流读写文件以及使用properties读写数据的一个例子

例子:已知文本文件(Userinfo.txt)如下图所示,数据是键值对形式的写一个程序判断是否有admin这样的用户存在,如果有就改变密码为“56789”import java.io.*;import java.util.LinkedList;import java.util.regex.Matcher;import java.util.regex.Pattern;public c...

2019-05-06 21:26:37 3738

原创 Java中文乱码问题及一种解决方法【IDEA】windows

Java使用的字符集为Unicode,但是调用Charset.defaultCharset()的结果并非如此。会发现:输出的结果为GBK。此时若将IDEA的项目编码等全部设为UTF-8时,在进行IO等操作时读取本地文件可能会发生乱码情况,此时可通过以下方式解决:打开Windows控制面板选择控制面板中的时钟和区域选择区域选择管理选择更改系统区域设置将画圈部分勾选并确定即可...

2019-05-05 23:16:57 4025

原创 Iterable<T> 的所有实现类

Iterable 的所有实现类All Known Implementing Classes:所有已知的实现类://AbstractCollection, AbstractList, AbstractQueue, AbstractSequentialList,//AbstractSet, ArrayBlockingQueue, ArrayDeque, ArrayList, Attribut...

2019-04-29 21:59:15 4799

原创 ArrayList类的常用方法 【Java】

ArrayList类(Class ArrayList < E >)概述:ArrayList类是一个实现了List接口的实现类,所以实现了所有的List操作,如大小可变的数组、元素可以为空等。但需要注意的是此类的实现接口不包括同步(synchronized),所以其线程是不安全的。构造方法构造方法功能ArrayList()构造一个初始容量为10的空列表A...

2019-04-28 22:56:40 3546

原创 包装类、Character类、Math类的一些常用方法 【Java】

StringBuilder类与StringBuffer类的异同StringBuffer,StringBuilder 可以改变变字符串的长度和内容,是一个字符串缓冲区, 在做大量字符串拼接的时候不会开辟新的空间。StringBuffer的所有方法都被关键字synchronized修饰,也就是说它是线程安全的,效率低StringBuilder线程不安全的,效率高包装类基本数据类型的包装...

2019-04-27 19:56:49 3491

原创 StringBuffer类及其方法 【Java】

StringBuffer类StringBuffer类概述:线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。构造方法StringBuffer() :构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。StringBuffer(CharSequence seq):...

2019-04-26 11:50:20 3305

原创 Integer类的一些常用方法 及通过该类中的方法实现一个位数转换计算器【Java】

Integer类及其常用方法方法返回值功能byteValue()byte以 byte 类型返回该 Integer 的值shortValue()short以 short 类型返回该 Integer 的值intValue()int以 int 类型返回该 Integer 的值toString()String返回一个表示该 I...

2019-04-24 20:34:31 3316

原创 .

// 实现会员注册// 对用户名长度进行限制// 对密码长度进行限制// 注册时两次输入密码必须相同import java.util.Scanner;public class Main { public static void main(String[] args) { Registered test = new Reg...

2019-04-23 22:52:23 3239

原创 接口的概念、特点和final关键字 Java

接口接口的概念从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和抽象方法的定义,而没有变量和方法的实现。1.接口是一种标准,是一种规范,是一种约定2.接口可以扩展功能3.接口是灵活的,可以即插即拔4.接口由继承者来实现接口的格式 格式 public interface 接口名{ //常量 //抽象方法 } 接口的实现类格...

2019-04-22 21:10:03 3461

原创 多态 Java

什么是多态生活中: 同一个动作在不同环境下表现出来的不同状态Java中: 同一个方法在不同的对象中体现出来不同的状态内存中: 父类引用指向子类对象多态实现的必要条件1.存在继承关系2.存在方法重写3.父类引用指向子类对象多态访问成员的特点成员变量:编译时期:看左边的类型,如果左边类型中没有变量,编译报错运行时期:看左边类型,左边类型的变量的值就是运行的结果编译看左...

2019-04-20 19:37:42 3353

原创 OOP中局部变量与成员变量

局部变量局部变量的定义局部变量是定义在方法中或定义在循环体中的变量。局部变量创建的位置局部变量创建于栈内存中局部变量的初始化 局部变量在创建时系统不会给出默认值,若要使用该局部变量,必须在使用前对其进行初始化, 否则编译器会报错。但如果该局部变量并未使用,未初始化的局部变量就不会导致编译报错。局部变量的生命周期局部变量: 随着方法的调用而创建,随着方法的执行结束而销毁。...

2019-04-19 21:02:35 2483

原创 IDEA 中构造方法, get/set自动生成的快捷键

如何在IDEA 中使用快捷键自动生成Constructor/get/set使用快捷键:Alt + insert。

2019-04-18 20:20:09 9408

原创 简单实现数组的增删改查功能

需求: 编写方法实现以下功能。// 1、实现数组在指定位置插入元素// insert(int[] arr)// 2、删除某一个指定位置的元素// delete(int[] arr)// 3、在元素的末尾添加一个元素// Add(int[] arr, int...

2019-04-17 16:03:17 6761

原创 java Arrays类常用方法

整理一些Arrays类的一些常用方法 public static void main(String[] args) { int[] arr = new int[]{11, 22, 33, 44, 55, 66, 77};// 使用Arrays.binarySearch()二分查找寻找元素是否存在于排序完成的升序数组中// int index...

2019-04-16 19:32:52 1635

原创 二维数组的初始化,遍历等

二维数组的初始化和遍历等通过二维数组计算若干个班级若干个学生的平均分。public class Main { public static void main(String[] args) {// 使用二维数组计算若个个个班学生的平均分// 先输入有多少个班,在分别输入每个班中每个人的分数,最后计算平均分(成绩类型为int) Scanner...

2019-04-16 15:38:54 1530

转载 Java输出数组的内容

Java输出数组的内容转载于作者:chszs。作者博客主页:http://blog.csdn.net/chszs1. 输出内容最常见的方式// List<String>类型的列表List<String> list = new ArrayList<String>();list.add("First");list.add("Seco...

2019-04-15 16:07:11 2214

空空如也

空空如也

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

TA关注的人

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