笔记
文章平均质量分 90
时魇
这个作者很懒,什么都没留下…
展开
-
今天开始接触Html
段落标签 <p>这是一个段落,因为他比较长,<br>我们不希望它自动换行,所以我们在合适的地方让它换行</p>效果:有序列表 <h2>有序列表</h2> <ol start="5" reversed type="I"> <li value="4">列表项1</li> <li>列表项2</li> <li>列表项原创 2021-03-26 21:44:41 · 84 阅读 · 0 评论 -
上次学到了list的几种实现类,接着上次没学完的LinkedList
类定义public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>,Cloneable, java.io.Serializable//Deque是队列接口,提供一个双端队列的访问方法实现底层实现为双向链表private static class Node<E> { //节点定义 E item; //具体存储的数据 N原创 2021-03-22 21:07:45 · 77 阅读 · 0 评论 -
集合框架
数据结构1、线性表数组随机访问O(1),删除和新增O(n)2、链表随机访问O(n),删除和新增O(1)概述集合Java针对常见的数据结构进行了封装,提供了一组工具类java.util包集合只能存放对象集合存放的是多个对象的引用,对象本身还是放在堆内存中集合可以存放不同类型,不限数量的数据。定义集合变量时如果不指定数据类型,则默认数据类型为ObjectList cc=new ArrayList();cc.add("abc");Object obj=cc.get(0); //Strin原创 2021-03-22 20:58:45 · 77 阅读 · 0 评论 -
map接口
Map接口Map接口Map接口的定义Map接口中常见方法Map实现类HashMap构造器HashMap的存储结构HashMap的put方法Map接口哈希表就是一种以键-值(key-indexed) 存储数据的结构,只要输入待查找的值即key,即可查找到其对应的值。哈希的思路很简单,如果所有的键hashCode都是整数,那么就可以使用一个简单数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。简单的计算方法hashcode%数组长度=【0,数组的长度-1】它提供了一组键值的映射原创 2021-03-01 20:34:09 · 100 阅读 · 0 评论 -
set接口和数据结构
Set接口,数据结构Set接口实现类HashSetHashSet的特征LinkedHashSetTreeSet数据结构哈希表哈希冲突散列算法二叉树Set接口特点:无序、不允许重复,是Collection接口的子接口没有定义新方法,所有的方法都是Collection接口中所定义的方法实现类HashSet存储采用哈希表的方式进行存储,HashSet采用HashCode算法来存取集合中的元素,因此具有比较好的读取和查找性能LinkedHashSet是在HashSet的基础上添加一个额外的链表结构可以记原创 2021-03-01 20:33:33 · 103 阅读 · 0 评论 -
泛型、泛型应用、泛型好处、泛型类
泛型、泛型应用、泛型好处、泛型类泛型什么是泛型使用泛型的定义典型场景Comparable接口泛型的好处泛型类集合类中定义范型有界类型调用泛型类通配符参数通配符参数的语法使用小结泛型类泛型方法泛型类的继承泛型的实现原理泛型的局限性泛型当将一个对象放入集合中,集合不会记住此对象的类型,当再次从集合中取出此对象时,改对象的编译类型变成了Object类型,但其运行时类型任然为其本身类型。List list=new ArrayList();list.add(new Random());list.add("a原创 2021-02-25 21:18:12 · 397 阅读 · 0 评论 -
数据结构、集合
数据结构、集合概述、集合框架中的接口数据结构线性表链表概述集合数组和集合的比较集合框架中的接口Collection接口常见方法Iterator迭代器List接口Set接口常见的List接口的实现类ArrayList实现类VectorLinkedListList总结修改同时并发迭代访问的问题一个线程使用迭代器访问数据,另外一个线程修改数据对象赋值和克隆数据结构线性表(数组)存储区间是连续的,占用内存严重,故空间复杂度很大。但数组的二分查找(前提是必须有序)时间复杂度小,为O(1);数组的特点是:寻原创 2021-02-25 21:17:23 · 88 阅读 · 0 评论 -
今天学习更多有关流的应用
过滤流类型过滤流就是在节点流的基础上附加功能过滤流FilterInputStream/FilterOutputStream和FilterReader/FilterWriterpublic class FilterInputStream extends InputStream { //典型的装饰模式protected volatile InputStream in; //被装饰目标protected FilterInputStream(InputStream in) { //通过构造器组装被装饰原创 2021-01-26 20:15:07 · 138 阅读 · 0 评论 -
输入输出种的流模型、扩展类的功能、File类、文件过滤器FilenameFilter、Path和Paths以及Files、字节流
输入输出种的流模型、扩展类的功能、File类、文件过滤器FilenameFilter、Path和Paths以及Files、字节流输入输出应用编程输入输出种的流模型流概念流的分类扩展类的功能继承装饰模式在IO流定义中使用装饰模式File类常见的构造方法需要记忆的方法静态属性访问文件名的方法文件检测相关方法常见操作文件过滤器FilenameFilter语法糖Lambda表达式Path和Paths以及FilesPath相关方法Files工具方法字节流基本输入输出方法以下为今天的总结内容:输入输出种的流模型、扩展原创 2021-01-21 21:40:35 · 162 阅读 · 0 评论 -
程序出错老看不懂,今天专门去总结了一下程序异常的情况
Java异常处理程序运行时发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止。Scanner sc=new Scanner(System.in);String ss=sc.nextLine();int kk=Integer.parseInt(ss);System.out.println("用户输入数据为:"+kk);//用户输入abc/*则执行结果为:Exception in thread "main" java.lang.N原创 2021-01-20 23:54:38 · 1457 阅读 · 0 评论 -
抽象类的概念和应用方法
抽象类面向对象编程的核心是面向抽象编程,一般依赖抽象不依赖具体public class A{public void pp(Pig pig){} //如果进行切换类型,则必须进行修改源代码}//-------------public class A{public void pp(Animal animal){} //这里可以任意更换Animal的子类}class Animal{}class Pig extends Animal{}class Cat extends Animal{}p原创 2021-01-18 20:00:46 · 931 阅读 · 0 评论 -
多态性
多态性多态性是发送消息给某个对象,让该对象自行决定响应何种行为。通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用public class Test1 { public static void main(String[] args) { Fa cc=new Fa(); //调用的是一个名称为pp的方法,但是参数不同执行的处理不同 cc.pp();//Fa...pp cc.pp(12);//Fa.pp(int) }}class Fa{ public void pp原创 2021-01-15 22:11:42 · 182 阅读 · 0 评论 -
多维数组和字符串
多维数组针对数组中的元素类型没有特殊要求,所以允许数组的元素是数组。多维数组可以理解为数组的数组,数组中的每个数组元素可以是一个数组,但是不要求每个充当元素的数组长度一致包装类和Number一般地当需要使用数字的时通常使用内置数据类型,如byte、int、long、double 等。然而在实际开发过程中,经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。所有的数值类型数据的包装类Integer、Long、Byte、Double原创 2021-01-11 11:03:43 · 446 阅读 · 0 评论 -
理解引用数据类型
今天认识到了数组更深层次的知识,很绕啊brr=arr意思是将arr所代表的复杂类型数据的地址传递给brr变量,结果是brr和arr变量使用的是同一个复杂类型数据,不管是brr修改或者arr修改,实际上修改是同一个数据,会发现一个修改,另外一个也同时发生变化数组复制备份:注意这里不是地址值的复制,因为地址值的复制brr=arr,实际上两个变量引用的是同一个复杂类型数据需要两个不同复杂类型数据,操作中不相互影响使用循环作数组复制—克隆扩展:实现一个可变长的数组【Java中要求数组的长度是确定,原创 2021-01-08 22:23:45 · 616 阅读 · 0 评论 -
数组
今天学习了好多 一起每天进步一点。数组数组是表示多个相同类型变量的集合(在一个数组中所存放的所有元素的类型必须一致),可以使用共同的名字引用它属于复杂数据类型由类型相同的元素组成的有顺序的数据集合Java数组是固定的不能扩展[长度一旦声明,不能修改]可以存储基本数据类型或对象数组可以定义为任意数据类型,并且可分为一维数组或多维数组一维数组一维数组实质上是相同类型变量的列表。要创建一个数组必须首先定义数组变量所需的类型。通用的一维数组的声明格式是:type var-name[ ];i原创 2021-01-07 21:54:23 · 210 阅读 · 0 评论 -
方法的声明和调用!!
终于开始学习新的知识了 ,今天了解到了方法的概念,分享给大家。方法的概念多次反复编写明显是不合适的,而结构化编程中的模块化在Java中的体现就是自定义方法。例如:输出1-100之间所有素数public class Test1 { // 特殊的方法,用于表示程序的执行起始点,也就意味着不能写错 public static void main(String[] args) { for(int i=2;i<101;i++){ if(abc(i)){ //调用处传入的数据是实参 Syste原创 2021-01-07 21:29:41 · 316 阅读 · 0 评论 -
今天学习Java的运算符和几种基础的语句
先记录一下之前没有注意到的一些东西valueOf和parseInt的区别public static Integer valueOf(String s) throws NumberFormatException 返回值得类型为包装类,底层实现其实就是parseIntpublic static int parseInt(String s) throws NumberFormatException 返回值类型为原生类型数值与字串的转换数值转换为字串有3种方法: Strings=String.valu原创 2021-01-03 21:49:22 · 154 阅读 · 0 评论 -
java的相关信息
今天正式学习Java,先了解一下java的相关信息,冲鸭概述程序程序=算法(解决问题的步骤)+数据结构(如何高效的存储和使用数据)为什么需要编程语言用户:有亟待解决的问题–问题空间,使用自然语言进行描述计算机:能够解决问题–解空间。计算机能够理解的语言和人类的自然语言相去甚远。要使用计算解决问题则需要采用某种方式将问题空间的内容映射到计算解空间中去,这里能够采用的方法无非是人迁就机器(机器语言–>芯片级的微码语言–>汇编语言)或者机器迁就人(高级语言)。可以将解空间能够提供的能力抽象出原创 2020-12-28 20:55:28 · 160 阅读 · 0 评论 -
复习基本操作,以及学习新的基本文件操作
复习基本操作,以及学习新的基本文件操作可用 pwd命令查看用户的当前目录pwd可用 cd 命令来切换目录cd没有参数则返回home文件夹cd … 表示返回上级文件夹cd udev 进入当前文件夹的子文件夹udev,如果当前文件夹下没有udev子文件夹,则会回显报错信息cd /root使用的是绝对路径ls命令是list的缩写,是列出目录或目录的内容的命令ls -a显示隐藏文件或者文件夹【以.开头的文件或文件夹是隐藏】ls -l 列表展示,有一个别名ll列表展示内容的说明原创 2020-12-24 20:22:20 · 180 阅读 · 1 评论 -
Linux 应用概述
Linux的主要特性原创 2020-12-22 22:59:46 · 652 阅读 · 3 评论