01 2021 档案

摘要:Java-JDBC-事务与设置回滚点 事务能够保证SQL要么全部执行成功,要么全部执行失败 JDBC 默认是自动提交事务 每条DML都是默认提交事务的,多个preparedStatement.executeUpdate();都会提交一次事务 如果想手动控制事务,那么就不能让事务自动提交 通过Conn 阅读全文
posted @ 2021-01-31 19:05 殃奕 阅读(1003) 评论(0) 推荐(0)
摘要:Java-JDBC-预编译+批处理 什么是批处理:批处理就是将一个SQL语句集合发给数据库执行,也就是发送一批SQL给数据库,而不是一条一条得发送给数据库执行,这样可以大大减少访问数据库次数,从而提高SQL执行效率; 预编译(preparedStatement)+批处理的优点 优点:语句只编译一次, 阅读全文
posted @ 2021-01-31 16:42 殃奕 阅读(219) 评论(0) 推荐(0)
摘要:Java-JDBC-PreparedStatement进行CURD PreparedStatement 预编译语句对象可以方式SQL注入攻击,可以稍微提高SQL执行效率 注意:要使用预编译的时候,需要在url里面添加参数useServerPrepStmts=true&cachePrepStmts=t 阅读全文
posted @ 2021-01-30 19:31 殃奕 阅读(93) 评论(0) 推荐(0)
摘要:Java-JDBC防止SQL注入攻击 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。 例如 我们在JDBC中写的验证用户登录的方 阅读全文
posted @ 2021-01-29 00:25 殃奕 阅读(618) 评论(0) 推荐(0)
摘要:Java-JDBC-查询获取数据库数据 JDBC对数据库的操作也叫做CURD: 它代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)操作 在JDBC中,使用查询语句获取到的是一个resultSet数据集 这个数据集可以想象为一个表格,表头就是SQL语句查询 阅读全文
posted @ 2021-01-28 23:14 殃奕 阅读(6710) 评论(0) 推荐(0)
摘要:JDBC的基础使用 JDBC是Java执行SQL的API,为多种关系型数据库提供统一访问,由一组用Java语言编写的类和接口组成 JDBC的主要组成 DriverManager类 作用:管理各种不同的JDBC驱动 Connection接口 Statement接口和PreparedStatement接 阅读全文
posted @ 2021-01-27 12:43 殃奕 阅读(95) 评论(0) 推荐(0)
摘要:视图 视图(view)是一个从单张或多张基础数据表或其他视图中构建出来的虚拟表。 同基础表一样,视图中也包含了一系列带有名称的列和行数据,但是数据库中只是存放视图的定义,也就是动态检索数据的查询语句,而并不存放视图中的数据,只有当用户使用视图时才去数据库请求相对应的数据,即视图中的数据是在引用视图时 阅读全文
posted @ 2021-01-27 00:25 殃奕 阅读(168) 评论(0) 推荐(0)
摘要:事务的并发问题与隔离级别 事务的并发问题 在并发场景下,就可能出现三种事务的并发问题 脏读(Dirty read) 不可重复读(Unrepeatableread) 幻读(Phantom read) 并发问题解释: 脏读:当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时 阅读全文
posted @ 2021-01-27 00:12 殃奕 阅读(150) 评论(0) 推荐(0)
摘要:事务 事务及其特征 事务(Transaction)是用来维护数据库完整性的,它能够保证一系列的MySQL操作要么全部执行,要么全不执行。 事务(Transaction)指的是一个操作序列,该操作序列中的多个操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,由DBMS( 阅读全文
posted @ 2021-01-26 23:48 殃奕 阅读(83) 评论(0) 推荐(0)
摘要:子查询 在mysql中,子查询分为两大类 不相关子查询 单行不相关子查询:子查询的返回结果只有一个 多行不相关子查询:子查询的返回结果是多个 相关子查询 不相关子查询的特点: 先执行子查询,再执行外查询; 子查询可以独立运行,称为不相关子查询。 根据子查询的结果行数,可以分为单行子查询和多行子查询。 阅读全文
posted @ 2021-01-26 21:41 殃奕 阅读(597) 评论(0) 推荐(0)
摘要:数据查询语言(Data Query Language,DQL)-多表查询 多表查询主要的查询方式有 交叉连结 cross join 自然连接 natural join 内连接 using子句 内连接 on子句 外连接 以上查询方法中,内连接 on子句与外连接查询当前应用较多,其他三种查询方式使用不多 阅读全文
posted @ 2021-01-25 22:47 殃奕 阅读(368) 评论(0) 推荐(0)
摘要:数据查询语言(Data Query Language,DQL)- 单表查询 本次查询中的所有数据请参阅数据查询语言(Data Query Language,DQL) 基础select语句 -- 对员工表进行查询 select * from emp; -- * 代表所有数据 -- 部分列查询 sele 阅读全文
posted @ 2021-01-24 22:45 殃奕 阅读(444) 评论(0) 推荐(0)
摘要:数据查询语言(Data Query Language,DQL) select语句的结构顺序是固定的,不可以改变顺序 select column, group_function(column) from table [where condition] [group by group_by_expres 阅读全文
posted @ 2021-01-24 22:42 殃奕 阅读(510) 评论(0) 推荐(0)
摘要:表的完整性约束-外键约束 外键约束(FOREIGN KEY,缩写FK)是用来实现数据库表的参照完整性的。外键约束可以使两张表紧密的结合起来,特别是针对修改或者删除的级联操作时,会保证数据的完整性。 外键是指表中某个字段的值依赖于另一张表中某个字段的值,而被依赖的字段必须具有主键约束或者唯一约束。被依 阅读全文
posted @ 2021-01-24 16:18 殃奕 阅读(924) 评论(0) 推荐(0)
摘要:表的完整性约束-非外键约束 非外键约束解释 主键约束 主键约束(PRIMARY KEY,缩写PK),是数据库中最重要的一种约束,其作用是约束表中的某个字段可以唯一标识一条记录。因此,使用主键约束可以快速查找表中的记录。就像人的身份证、学生的学号等等,设置为主键的字段取值不能重复(唯一),也不能为空( 阅读全文
posted @ 2021-01-24 15:52 殃奕 阅读(501) 评论(0) 推荐(0)
摘要:表的完整性约束 为防止不符合规范的数据存入数据库,在用户对数据进行插入、修改、删除等操作时,MySQL提供了一种机制来检查数据库中的数据是否满足规定的条件,以保证数据库中数据的准确性和一致性,这种机制就是完整性约束 约束条件 约束描述 PRIMARY KEY 主键约束,约束字段的值可唯一地标识对应的 阅读全文
posted @ 2021-01-24 15:48 殃奕 阅读(118) 评论(0) 推荐(0)
摘要:数据定义语言(Data Definition Language,DDL) 创建数据库对象 /* 建立一张用来存储学生信息的表 字段包含学号、姓名、性别,年龄、入学日期、班级,email等信息 */ -- 创建数据库表 create table t_student( sno int(6),-- 6代表 阅读全文
posted @ 2021-01-24 15:31 殃奕 阅读(502) 评论(0) 推荐(0)
摘要:数据操作语言(Data Manipulation Language,DML) 添加数据 -- 在t_student数据库表中插入数据: insert into t_student values (1,'张三','男',18,'2022-5-8','软件1班','123@126.com'); -- i 阅读全文
posted @ 2021-01-24 15:25 殃奕 阅读(666) 评论(0) 推荐(0)
摘要:数据库表列类型 表(Table)是数据库中数据存储最常见和最简单的一种形式,数据库可以将复杂的数据结构用较为简单的二维表来表示。二维表是由行和列组成的,分别都包含着数据; 每个表都是由若干行和列组成的,在数据库中表中的行被称为记录,表中的列被称为是这些记录的字段 记录也被称为一行数据,是表里的一行。 阅读全文
posted @ 2021-01-24 15:20 殃奕 阅读(920) 评论(0) 推荐(0)
摘要:SQL语言的分类 SQL(Structured Query Language)是结构化查询语言的简称,它是一种数据库查询和程序设计语言,同时也是目前使用最广泛的关系型数据库操作语言。在数据库管理系统中,使用SQL语言来实现数据的存取、查询、更新等功能。SQL是一种非过程化语言,只需提出“做什么”,而 阅读全文
posted @ 2021-01-24 12:02 殃奕 阅读(490) 评论(0) 推荐(0)
摘要:Java-多线程-Lock锁情况下线程通信 为了完成Lock锁情况下的线程之间的通信,从JDK1.5开始引入了Condition,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、notify(),使用Condition1的await( 阅读全文
posted @ 2021-01-21 18:05 殃奕 阅读(73) 评论(0) 推荐(0)
摘要:Java-多线程-线程间通信 在Java对象中,有两个池:锁池与等待池 锁池:Synchronized, 等待池:wait(),notify(),notifyAll() 一个线程如果调用了某个对象的wait(),那么,该线程就立即进入带该对象的等待池中(并且将锁释放掉) 在未来的某个时刻,另一个线程 阅读全文
posted @ 2021-01-20 20:31 殃奕 阅读(64) 评论(0) 推荐(0)
摘要:Java-多线程-线程安全小总结 什么是线程的安全问题 Java的线程安全问题,由于多线程任务中,会出现争抢资源的过程,可能导致共享资源出现问题。即一个线程还没有执行完,另一个线程就又把资源抢走了,这样,前一个线程对公共资源公共操作到一半,还没有完成所有操作,公共资源就可能出现各种误操作一样的问题; 阅读全文
posted @ 2021-01-19 22:46 殃奕 阅读(45) 评论(0) 推荐(0)
摘要:Java-多线程-线程安全-Lock锁 JDK1.5后新增新一代的线程同步方式:Lock锁 与采用synchronized相比,lock可提供多种锁方案,更灵活 synchronized是Java中的关键字,这个关键字的识别是靠JVM来识别完成的呀。是虚拟机级别的。 但是Lock锁是API级别的,提 阅读全文
posted @ 2021-01-19 19:39 殃奕 阅读(70) 评论(0) 推荐(0)
摘要:Java-多线程-线程安全-同步方法 在多个线程都在争抢公共资源的时候,可能会出现抢到公共资源后,还没有完成所有操作就被其他线程抢走了,这可能导致程序运行结果不符合我们的意愿的情况 为了解决线程安全的问题,可以在可能出现线程危险的地方整体提取为一个方法,然后使用synchronized修饰该方法,这 阅读全文
posted @ 2021-01-19 19:32 殃奕 阅读(47) 评论(0) 推荐(0)
摘要:Java-多线程-线程安全-同步代码块 在多个线程都在争抢公共资源的时候,可能会出现抢到公共资源后,还没有完成所有操作就被其他线程抢走了,这可能导致程序运行结果不符合我们的意愿的情况 例如示例所示,在没有加同步代码块的时候,可能出现买到重复的票或者买到第0、-1张票的情况 为了解决线程安全的问题,可 阅读全文
posted @ 2021-01-17 21:28 殃奕 阅读(82) 评论(0) 推荐(0)
摘要:线程的生命周期 在线程的整个执行过程中,总共可以分为5个周期 分别为新生状态、就绪状态、运行状态、阻塞状态、死亡状态 阅读全文
posted @ 2021-01-17 20:57 殃奕 阅读(163) 评论(0) 推荐(0)
摘要:Java-多线程-stop方法 见名知意,stop方法就是直接停止掉当前线程的方法 示例 public class Test01 { // 这是main方法,实现程序主要逻辑 public static void main(String[] args) { for (int i = 1; i <=1 阅读全文
posted @ 2021-01-17 20:52 殃奕 阅读(344) 评论(0) 推荐(0)
摘要:Java-多线程-伴随线程 setDaemon方法可以将子线程设置为主线程的伴随线程 意思就是当主线程运行结束之后,不管子线程是否运行完毕,都直接将子线程强制结束掉 示例: public class TestThread implements Runnable{ @Override public v 阅读全文
posted @ 2021-01-17 20:45 殃奕 阅读(76) 评论(0) 推荐(0)
摘要:Java-多线程-sleep方法 Thread的sleep方法,可以认为得制造线程的阻塞,阻塞的时间就是传入的参数的时长,单位为毫秒 示例: public class Test02 { // 这是main方法,实现程序主要逻辑 public static void main(String[] arg 阅读全文
posted @ 2021-01-17 20:17 殃奕 阅读(132) 评论(0) 推荐(0)
摘要:Java-多线程-join方法 在Java中,如果一个线程调用了join方法,那么这个线程就会被优先执行,该线程执行结束之后,才执行其他的线程 ==注意:==必须要调用了start方法之后,才能调用join方法,不然会出错 示例 public class TestThread implements 阅读全文
posted @ 2021-01-17 20:15 殃奕 阅读(135) 评论(0) 推荐(0)
摘要:Java-多线程-线程的优先级 不同的线程之间,可以有不同的优先级 但是也不能保证高优先级就百分之百被优先CPU执行 只是说高优先级的线程被CPU先执行的几率大 Java中线程的优先级为1-10 线程默认的优先级都是5 /** * The minimum priority that a thread 阅读全文
posted @ 2021-01-17 19:00 殃奕 阅读(103) 评论(0) 推荐(0)
摘要:Java-多线程-三种创建线程的方式优缺点对比 继承Thread类的方式创建线程 优点: 方便实现,代码简单 缺点: 必须重写run方法 run方法不能有返回值 run方法不能抛出异常 Java的单继承特性,一个类继承了Thread之后就不能再继承自其它类了 资源之间共享的时候,变量必须使用stat 阅读全文
posted @ 2021-01-17 16:37 殃奕 阅读(325) 评论(0) 推荐(0)
摘要:Java-多线程-实现Callable接口创建线程类 不论是继承自Thread类创建的线程,还是实现Runnable接口创建的线程,都必须重写run方法,但是run方法有两个缺点 不能有返回值 不能抛出异常 所以JDK1.5之后,又有了实现Callable接口创建线程对象的方法 实现Callable 阅读全文
posted @ 2021-01-17 16:01 殃奕 阅读(121) 评论(0) 推荐(0)
摘要:Java-多线程-实现Runnable接口创建线程类 在Java中,创建子线程的一种方式就是让一个类实现Runnable接口 一个类在实现了Runnable之后,还必须要重写run方法,实现的业务逻辑必须写在run方法中才能创建子线程 通过实现Runnable接口创建的子线程对象没有start方法, 阅读全文
posted @ 2021-01-17 15:27 殃奕 阅读(283) 评论(0) 推荐(0)
摘要:Java-多线程-给线程命名 在Java中,通过继承Thread创建的线程,有以下两种方式可以给线程命名; 通过构造器命名 因为线程类继承自Thread类,所有也继承了Thread的name属性,可以通过super的方法调用父类构造器,将name传给构造器完成线程的命名 public class T 阅读全文
posted @ 2021-01-17 14:59 殃奕 阅读(746) 评论(0) 推荐(0)
摘要:Java-多线程-继承Thread类创建线程 在Java中,创建子线程的一种方式就是让一个类继承Thread类 一个类在继承自Thread之后,还必须要重写run方法,实现的业务逻辑必须写在run方法中才能创建子线程 创建的子线程对象不能直接调用run方法,直接调用run方法,实际上是将run方法当 阅读全文
posted @ 2021-01-17 13:32 殃奕 阅读(252) 评论(0) 推荐(0)
摘要:IDEA自动生成序列化版本号的配置 IDEA提供了可以自动生成序列化版本号的快捷方式,直接上图 首先,需要在Setting中进行配置 然后,在自定义类的时候,将光标点到类名上,按alt+enter就会出现提示,自动添加序列化版本号 最后添加效果如下: public class Person impl 阅读全文
posted @ 2021-01-16 15:05 殃奕 阅读(1088) 评论(0) 推荐(0)
摘要:Java-IO流-对象流操作自定义类对象 对象流可以将内存中的对象序列化写入本地文件中,也可以从本地文件中反序列化读取对象到内存中 但是,对于自定义类来说,想要实现序列化,必须要实现Serializable接口 如果没有实现Serializable接口的类在进行序列化的时候会出没有序列化异常 Not 阅读全文
posted @ 2021-01-15 21:34 殃奕 阅读(186) 评论(0) 推荐(0)
摘要:Java-IO流-ObjectInputStream与ObjectOutputStream 对象流ObjectInputStream,ObjectOutputStream ObjectInputStream:将文件中存储的Java对象读到内存中,这个过程也叫做反序列化 ObjectOutputStr 阅读全文
posted @ 2021-01-15 00:28 殃奕 阅读(82) 评论(0) 推荐(0)
摘要:Java-IO流-DataInputStream与DataOutputStream 数据流DataInputStream,DataOutputStream DataInputStream:将文件中存储的基本数据类型和字符串 写入 内存的变量中 DataOutputStream: 将内存中的基本数据类 阅读全文
posted @ 2021-01-15 00:02 殃奕 阅读(259) 评论(0) 推荐(0)
摘要:Java-IO流-System类对IO流的支持 System类对IO流的支持 System.in\System.out System.in >从键盘获取输入 Syste.in的read方法会导致程序阻塞,等待键盘录入 System.out >将内容输出到控制台 示例: public class Te 阅读全文
posted @ 2021-01-14 23:45 殃奕 阅读(71) 评论(0) 推荐(0)
摘要:Java-IO流-InputStreamReader与OutputStreamWriter 这两个流都是转换流,可以将字节流转换为字符流 转换流属于字符流 InputSteamReader 将输入字节流 >输入字符流 OutputStreamWriter 将输出字符流 >输出字节流 原理: 示例: 阅读全文
posted @ 2021-01-14 20:07 殃奕 阅读(84) 评论(0) 推荐(0)
摘要:Java-IO流-BufferedReader与BufferedWriter BufferedReader 缓冲输入字符流 BufferedWriter 缓冲输出字符流 上面两种流都是输出处理流,都需要嵌套其他流进行使用; 缓冲流实现了减少硬盘访问次数,底层实际上是有两个缓冲区 在读取数据的时候,一 阅读全文
posted @ 2021-01-14 18:49 殃奕 阅读(81) 评论(0) 推荐(0)
摘要:Java-IO流-BufferedInputStream与BufferedOutputStream BufferedIputStream 缓冲输入字节流 BufferedOutputStream 缓冲输出字节流 上面两种流都是输出处理流,都需要嵌套其他流进行使用; 缓冲流实现了减少硬盘访问次数,底层 阅读全文
posted @ 2021-01-14 16:59 殃奕 阅读(102) 评论(0) 推荐(0)
摘要:Java-IO流-FileInputStream与FileOutputStream FileInputStream,字节输入流,完成文件内容读取 FileInputStreamr.read()括号中不加任何参数,是单个字节得读取文件内容 可以使用缓冲数组一次读取多个字节,FileInputStrea 阅读全文
posted @ 2021-01-13 16:31 殃奕 阅读(130) 评论(0) 推荐(0)
摘要:Java-IO流-FileReader与FileWriter FileReader,字符输入流,完成文件内容读取 FileReader.read()括号中不加任何参数,是单个字符得读取文件内容 可以使用缓冲数组一次读取多个字符,FileReader.read(ch),ch是char类型的数组 Fil 阅读全文
posted @ 2021-01-13 12:02 殃奕 阅读(133) 评论(0) 推荐(0)
摘要:Java-IO流 Java中,对文件与目录进行操作的话可以使用File类进行,但是File类不能获取到文件里面的数据 所以就需要使用IO流 IO流就是Input\Output的缩写,用于设备之间的数据传输; IO流的分类,重要流黄底标示 分类 字节输入流 字节输出流 字符输入流 字符输出流 抽象基类 阅读全文
posted @ 2021-01-11 17:52 殃奕 阅读(43) 评论(0) 推荐(0)
摘要:Java-File类 对文件进行操作 File类对文件进行操作 public class Test01 { // 这是main方法,实现程序主要逻辑 public static void main(String[] args) throws IOException { File f = new Fi 阅读全文
posted @ 2021-01-11 12:03 殃奕 阅读(49) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-TreeMap 一个红黑树基于NavigableMap实现。 该地图是根据排序natural ordering其密钥,或通过Comparator在地图创建时提供,这取决于所使用的构造方法。 TreeMap的特点 相对有序(基于二叉树排序) 唯一 TreeMap的其他方法 方 阅读全文
posted @ 2021-01-11 10:24 殃奕 阅读(113) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-LinkedHashMap 哈希表和链表实现的Map接口,具有可预测的迭代次序。 这种实现不同于HashMap,它维持于所有条目的运行双向链表。 此链接列表定义迭代排序,通常是将键插入到Map(插入顺序 )中的顺序 。 LinkedHashMap的特点 有序 唯一 Link 阅读全文
posted @ 2021-01-11 10:17 殃奕 阅读(72) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-HashMap 基于哈希表的实现的Map接口。 此实现提供了所有可选的数据操作,并允许null的值和null键。 ( HashMap类大致相当于Hashtable ,除了它是不同步的,并允许null)。这个类不能保证数据的顺序; HashMap的特点 无序 唯一 HashM 阅读全文
posted @ 2021-01-11 10:07 殃奕 阅读(57) 评论(0) 推荐(0)
摘要:Java-Collections工具类 Collections工具类的构造器是被私有化的,无法创建对象,并且里面所有的属性和方法都使用static修饰,都可以直接使用类名.方法名(属性名)直接调用。 Collections常用方法练习 package com.shanlei.test01; impo 阅读全文
posted @ 2021-01-10 21:55 殃奕 阅读(80) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-Map Map存储数据的方式都是一对一对的进行存储,例如: Map的特点 无序 唯一 Map的方法 方法名称 方法详细描述 方法返回值类型 clear() 从该地图中删除所有的映射(可选操作)。 void compute(K key, BiFunction<? super 阅读全文
posted @ 2021-01-07 12:03 殃奕 阅读(88) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-TreeSet TreeSet是Set接口的实现类 TreeSet底层存储必须实现内部或者外部比较器 TreeSet底层存储的原理是通过比较器进行比较后按照二叉树的原理进行存放 TreeSet的特点 相对有序(TreeSet的数据按照升序进行遍历) 唯一 TreeSet的方 阅读全文
posted @ 2021-01-05 23:37 殃奕 阅读(148) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-LinkedHashSet LinkedHashSet是Set接口的实现类 LinkedHashSet底层存储的原理基于哈希表实现 LinkedHashSet底层存储是按照哈希表+加链表的方式进行的 LinkedHashSet的特点 有序(按照元素添加的顺序进行输出) 唯一 阅读全文
posted @ 2021-01-05 23:27 殃奕 阅读(78) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-HashSet HashSet是Set接口的实现类 HashSet底层存储的原理基于哈希表实现 HashSet底层存储是按照数组+加链表的方式进行的 HashSet的特点 无序 唯一 HashSet的特有方法方法如下表,常用方法黄底标注,其他继承自Set接口的方法详见Jav 阅读全文
posted @ 2021-01-05 23:16 殃奕 阅读(44) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-Set Set是继承自Collection接口的接口 Set没有索引相关的方法,也就是说没有办法使用普通for循环进行遍历 Set的遍历方式 增强for循环 迭代器 Set存储是无序且唯一的 无序主要的底层原理是基于HashMap的原理实现的 唯一的特点主要是基于hashc 阅读全文
posted @ 2021-01-05 23:10 殃奕 阅读(80) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-LinkedList LinkedList是List接口的实现类 LinkedList底层数据存储方式是跳转结构进行存储的,是双向链表 LinkedList的优点 删除、增加元素效率高 数据可重复 LinkedList的缺点 遍历效率低 LinkedList的方法,常用方法 阅读全文
posted @ 2021-01-05 22:59 殃奕 阅读(86) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-ArrayList ArrayList是List接口的实现类 ArryaList底层数据存储方式是数组的形式,链式结构进行存储 ArrayList的优点 查询效率高 数据可重复 ArrayList的缺点 删除、增加元素效率低 ArrayList的方法,常用方法黄底标注 | 阅读全文
posted @ 2021-01-05 22:45 殃奕 阅读(77) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-List List接口的所有实现类存储数据的方式都是顺序、不唯一的 List的遍历方式 普通for循环 增强for循环 遍历器 iterator() List的方法,常用方法黄字标底 | 方法名 | 方法的详细描述 | 方法返回值类型 | | : : | : : | : : 阅读全文
posted @ 2021-01-05 17:59 殃奕 阅读(77) 评论(0) 推荐(0)
摘要:Java-数据容器-集合-Collection List接口与Set接口都继承自Collection 继承自Collection的接口或实现类,存储数据的方式都是一个一个的存储的。 Collection的遍历方式 增强for循环 迭代器:iterator() Collection的方法,常用方法黄字 阅读全文
posted @ 2021-01-05 17:13 殃奕 阅读(54) 评论(0) 推荐(0)
摘要:Java泛型的使用 泛型其实就是一个标签,用来限制集合中数据类型,方便数据的管理; Collection, List, ArrayList 这个就是类型参数,即泛型。 泛型实际就是 一个<>引起来的 参数类型,这个参数类型 具体在使用的时候才会确定具体的类型。 使用了泛型以后,可以确定集合中存放数据 阅读全文
posted @ 2021-01-03 16:40 殃奕 阅读(696) 评论(0) 推荐(0)
摘要:Java的数据容器-集合 数组与集合都是Java语言中的数据容器 数组 特点: 数组长度一定,一旦定义了数组长度,就不能更改 数组中数据类型一旦声明后,数组就只能存放那种类型的数据 缺点: 长度与数据类型不能更改 增删数据效率低 实际使用元素的数量无法获取 数组的存储是有序的,可重复的,对于无序与不 阅读全文
posted @ 2021-01-02 13:05 殃奕 阅读(76) 评论(0) 推荐(0)