图片.png

一:是什么
二:什么时候用,有什么用
三:怎么用

集合:

一:是一个容器,可以容纳其它类型的数据,存储的引用。
图片.png图片.png
图片.png
👆不同的集合就是不同的数据结构

二:什么时候用,有什么用
三:怎么用

1.迭代器的Iterator

获取一个链表中的元素
iterator
hasnext
next

数组对象有一个Iterator方法,可以获取一个Iterator类型的回值,通过这返回值个可以调用方法。

instanceof 用来判断一个对象是不是某个类的实例化
boolean c=obj instanceof Class

substring用来截字符串,从0开始
substirng(2,7)
图片.png

2.泛型

一:是什么
二:什么时候用,有什么用
三:怎么用
list链表中只能存一种类

xxx就代表可以用泛型

  1. ArrayList<Animal> list =new Arrarlist
  2. Animal a=new Animal;
  3. list.add(a);
  4. Iterator<Animal> it=list.iterator()
  5. while<it.hasnest>{
  6. Animal a=it.next();
  7. a.move;
  8. }
  9. class Animal{
  10. pulibc void move(){
  11. sout("移动");
  12. }
  13. }

图片.png
jdk8.0之后有自动类型推断,可以直接调用定义类型的子类型
图片.png
自定义泛型

3.增强for循环 foreach

图片.png
for(int a :arr){
sout(a);
}

2-3:调用数组的方法有多种,包括迭代器Iterator,for循环(带下标 增强for

4.set

hashset:无序不可重复,存进去的顺序和取出来的顺序不一样

  1. Set<String>set=new HashSet<>()
  2. set.add("a1");
  3. set.add("a1");
  4. set.add("a2");
  5. set.add("a3");

取出的顺序不一致
hashset实际上是把数据放在hashMap的key部分了

treeset:

图片.png

5.Map

常用方法:
图片.png图片.png
Set set=map.entrySet();
map可以转换为set,转换后的set中的类型是Map.entry类型
图片.png
图片.png
图片.png
内部类

7.27

反射机制

7.29
一个类不能被实例化的原因有哪些?
接口 2)抽象类(3)构造方法的访问权限为私有

7.30
工厂模式:
两个类A,B,一个类A中要调用另一个类B中的方法,如果是之前,需要在A中实例化B,用实例b去调用B中的方法。
这样的耦合度太高了。
创建工厂类,工厂类的返回类型是B,return new B 工厂类返回了一个B的实例。这样就可以直接通过工厂类来调用B的实例对象
IOC需要用到工厂模式,也要用到XML解析,以及反射
图片.png