7月27日,7月25日

时间:2022-02-23 22:56:18

复习7月23日内容

一、字符表达式

/d /D [1-9] x+ x{m,n}

二、Stringbuffer和stringbuilder

相同:都是字符串

不同:1、String字符串是常量,后两者可变

2、Stringbuffer是线程安全的,stringbuilder是线程不安全的

append

三、异常 

try catch finally throws throw

7.25上午

一、为什么要用集合

数组不符合面向对象编程,因为数组没有大量的方法

二java中的集合有哪些类和接口

集合分为collection(存放的只能是引用类型)和map两个接口

collection里面存放的是单一的对象。

例如存放的是字符串,那么集合中元素如下:

{“张三”李四“王五”}

Map也是一个集合,它里面存放的是一对映射。

Collection里面包含list(接口列表,有序的集合:存入元素顺序和输入元素顺序一致)和set(集合,存储的元素无序)以及其它。

list~Arraylist和linklist

set~~hashset:无序:添加元素顺序和输出顺序不一致

compare比较器。默认由低到高排序,可以复写。

linkhashset:记住元素的顺序,可以按添加顺序输出。它同时实现了list接口与Deque接口

可以根据索引来随机访问集合中的元素。底层用循环列表,队列,双端队列栈等

Map

1map集合里面保存这两组值=

--一组用于保存map中的key

==---组用于保存value 

map包含方法:clear清理所有映射

entryset返回映射

get(Objiect k)通过键值来寻value

put()添加元素;

keyset()返回值得集合

values()返回键的集合

hashmap类

hashmap<string,integer>hasmap=new hashmap<>();

hashmap.put("age"20);

hash.put("salaty",1000)

hashmap.put(weight,100)

//要先把map中的映射、键或者值传到set中去才能遍历

set<entry<String,integer>>entrys=hashmap.entryset();

iterator<entry<String,integer>>iterator2=entrys.interger;

HashMap:key是作为set集合元素来处理的,记不住key的添加顺序

linkhashmap 可以记住键值得添加顺序。

TreeMap类

可以对键和值进行自定义排序

强引用:只要变量在使用,gc就不能回收。当内存不足时抛出错误

软引用:当Gc发现内存不足时,会回收类引用,当内存充足时只要引用还在使用就不会回收

弱引用:gc只要发现就会回收

虚引用:给没引用一样。