算法数组集合

发布时间 2023-12-19 21:13:18作者: Cyptals
  1. JDK1.0 java.util.Date 缺陷 : 偏移量

  2. JDK1.1 java.util.Calendar 线程不安全 缺陷 : a.偏移量 b.可变性,线程不安全的 c.格式化 : java.text.DateFormat 只适用于 Date , 不能用于 Calendar

  3. JDK8.0 java.time : 时间包 LocalDate : 只有年月日 LocalTime : 只有时分秒 LocalDateTime : 年月日时分秒毫秒 now()

JDK1.1开始 Calendar类是一个抽象类, 它提供了在特定时刻和一组日历字段(如YEAR、MONTH、DAY_of_MONTH、HOUR等)之间进行转换的方法,以及操作日历字段(例如获取下一周的日期)的方法。时间的瞬间可以用毫秒值表示,毫秒值是从1970年1月1日00:00:00.000 GMT(格里高利)开始的偏移量。

 

格式化 : DateTimeFormatter DateTimeFormatter 1.预定义标准 : ISO_DATE_TIME : 2023-12-19T10:18:46.27 ISO_DATE : 2023-12-19 ISO_TIME : 10:19:49.405

 

2.本地相关 : FormatStyle LONG :2023年12月19日 上午10时22分59秒 MEDIUM : 2023-12-19 10:23:17 SHORT : 23-12-19 上午10:23

 

3.自定义 : 常用

 

 

算法 :解题的流程 1.可以结局具体的问题 1 + 2 +3 +4 + ... + 100

2.设计解决问题的流程 a. 1+2 = 3 3 +3 =6 6+4=10

b. 1+100 2+99 3+98 4+97 ... 3.评价指标 时间复杂度 空间复杂度

数据结构 : 1.逻辑结构 : 认知结构、思想上的结构 厨房 , 客厅 ... 线性表 , 图 , 栈 ,队列 2.物理结构 : 真实结构 钢筋水泥 + 力学 紧密结构(顺序结构) 跳转结构 (链式结构)

线性表 :相同类型数据的有序序列 a1 a2 a3 ... an an+1 1.相同的数据类型 2.序列、顺序性 3.有限

紧密结构 : 优点 : 查询块 缺点 : 增删慢

链式结构、跳转结构 : 1.单项链表 2. 双向链表 3.环式链表 优点 :增删快

缺点 :查询效率低

 

数组 : 1.增删元素麻烦 : 需要字节编写函数 2.长度是固定的 : 3.结构单一

集合 :内存存储 1.有增删改查的功能 2.长度会自增 3.数据结构较多 , 可以满足多种需求

数据库 : 持久存储

 

Collection 表示一组对象,这些对象也称为 collection 的元素。 | List : | ArrayList : | Vector : | LinkedList : | Set : | HashSet : | TreeSet : 注意 : 集合中的 contains 函数 , remove 函数 以及 indexOf , lastIndexOf 函数会根据集合中的元素的equals函数进行判断

 

集合 ---> 数组 Object[] toArray() 返回包含此 collection 中所有元素的数组。 <T> T[] toArray(T[] a) 返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。

 

 

// 开发常用方式一 : for 循环 for (Iterator iterator1 = collection.iterator(); iterator1.hasNext(); ) { Object o = iterator1.next(); System.out.println("o = " + o); }

// 方式二 : 增强for循环 for (Object object : collection) { System.out.println("object = " + object); }

// 方式三 : JDK8.0开始 : Stream collection.forEach(System.out::println);

// 方式四 : JDK8.0 collection.stream().forEach(System.out::println);

// 方式四 : JDK8.0 collection.stream().forEach(new Consumer() { @Override public void accept(Object o) { System.out.println("o = " + o); }

 

JDK5.0 : 泛型 : 类型限定 , 编译时期有效 <数据类型> : 1.将运行时异常转换为编译时错误 2.可以避免类型转换