JAVA学习-核心类库部分总结02


java核心类库笔记总结


3.4 集合框架

  • 用于存储一组任意引用数据类型的容器
collection
queue
list有序不唯一
set无序且唯一
LinkedList集合
ArrayList集合
HashSet集合
TreeSet集合
Map
HashMap集合
TreeMap集合
properties集合

Collections类

  • 对集合进行升序排序
    • public static void sort(List list)
  • 获取给定集合的最大元素
    • public static T max(Collection coll)
  • 获取给定集合的最小元素
    • public static T min(Collection coll)

Arrays类

  • 对数组进行升序排序
    • public static void sort(数组类型[] a)
  • 复制指定的数组
    • public static 数据类型[] copyOf( 数据类型[] original,int newLength)
  • 数组转List集合
    • public static List asList(T… a)
  • List集合转数组
    • public Object toArrays()
    • public Object toArrays(T[] ar)
    • 注 : 需定义一个明确类型的数组和集合

LinkedList类

  • 底层基于双链表存储(横向存储)
  • 创建LinkedList对象
    • public LinkedList()
  • 插入第一个元素
    • public void addFirst(Object obj)
  • 将指定的元素追加到此列表的末尾
    • public void addLast(Object obj)
  • 删除第一个元素
    • public Object removeFirst()
  • 删除最后一个元素
    • public Object removeLast()
  • 获取第一个元素
    • public Object getFirst()
  • 获取最后一个元素
    • public Object getLast()

ArrayList类

  • 底层基于动态数组存储(纵向存储)
  • 创建ArrayList对象
    • public ArrayList()
  • 追加任意元素到集合末尾或指定位置
    • public void add(Object obj)
    • public void add(int index,Object obj)
  • 删除指定位置上的元素,返回删除元素
    • public Object remove(int index)
  • 删除指定元素,不存在返回false
    • public boolean remove(Object obj)
  • 从列表中删除所有元素
    • public void clear()
  • 修改指定位置上的原有元素
    • public Object set(int index,Object obj)
  • 获取指定位置上的元素
    • public Object get(int index)
  • 获取指定元素第一次出现的位置
    • public int indexOf(Object obj)
  • 获取指定元素最后一次出现的位置
    • public int lastIndexOf(Object obj)
  • 获取元素的个数
    • public int size()
  • 判断指定元素是否为集合中的元素
    • public boolean contains(Object obj)
  • 判断集合是否为空
    • public boolean isEmpty()
  • Iterator迭代器
    • 创建Iterator 名 = 集合名.Iterator();
    • 获取迭代器对象
      • public Iterator iterator()
    • 获取元素
      • Object next()
    • 判断集合是否有元素
      • boolean hasNext()

HashSet类

  • 基于哈希值存储
  • 创建集合
    • public HashSet()
  • 追加指定的元素
    • public boolean add(Object obj)
  • 删除所有元素
    • public void clear()
  • 删除指定元素
    • public boolean remove(Object obj)
  • 获取集合长度
    • public int size()
  • 判断指定元素是否为集合中的元素
    • public boolean contains(Object obj)
  • 判断集合是否为空
    • public boolean isEmpty()

3.5 泛型与枚举

泛型

  • 目的 : 为避免任意数据都可存储到集合中形成脏数据
  • 格式 : 集合类型<泛型> 集合名 = new 集合类型<泛型>();
  • 集合中使用 : 使元素只存储一张特定数据类型
  • 方法中使用 :
    public <泛型> 返回值 方法名([参数]){ 方法体; }
  • 类中使用 :
    public class 类名<泛型>{
      //泛型不能在本类中使用静态方法
      private 泛型类型 属性名;
      public 类名(泛型 名){
        this.名 = 名;
      }
    }

枚举

  • 简化单例设计模式代码复杂性
  • 格式 :
    public enum 枚举类类名{
     枚举对象1,枚举对象2,…;
    }
    ①有参构造器
public enum A{
	TIGER("虎");//等效于A TIGER = new A("虎");
	private A(String a){}
}

②使用抽象方法

public enum A{
	TIGER("虎"){
		public void print(){
			system.out.print("***");
		}
	}
	private A(String a){}
	public abstract void print();
}
  • 枚举类方法
    • 获取枚举对象名
      • public String name()
    • 获取枚举对象的序数
      • public int ordinal()
    • 获取具有指定名称的指定枚举类型的枚举常量
      • public static valueOf(Enum enumType,String name)
    • 获取枚举对象
      • public static valueOf(String name)
    • 获取所有枚举对象
      • public static T[] valueOf()

3.6 反射机制

  • 动态获取该类的任意一个类成员
  • 适用场景:实例化对象困难
    ①没有提供构造器
    ②需直接调用抽象类中普通方法,成员属性,构造器
    ③框架底层源码都是单例设计模式
  • 获取Class类
    ①反射机制实现 : 类名.class
    ②public final Class getClass()
    ③Class.forName(String path)
    ④类名.class.getClassLoader.LoadClass(String path)

Class类

  • 获取与给定字符串名称的类或接口相关联的类对象
    • public static Class forName(String className)
  • 获取指定类所有属性
    • public Field[] getDeclaredFields()
  • 根据指定属性名获取对应Field对象
    • public Field getDeclaredField(String name)
  • 获取指定类所有构造器
    • public Constructor[] getConstructors()
  • 根据指定类有参构造器获取Constructor对象
    • public Constructor getConstructor(Class … Types)
  • 获取指定类的无参构造器
    • public T newInstance()
  • 获取指定类所有方法
    • public Method[] getDeclaredMethods()
  • 根据指定方法名和参数列表获取方法对象
    • public Method getDeclaredMethod(String name,Class … Types)

Field类

  • 获取操作私有化属性对象
    • public void setAccessible(boolean flag)
  • 根据类对象获取属性值
    • public Object get(Object obj)
  • 根据类对象设置属性值
    • public void set(Object obj,Object value)

Constructor类

  • 获取指定类的有参构造器
    • public T newInstance(Object… Types)

Method类

  • 获取操作私有化方法对象
    • public void setAccessible(boolean flag)
  • 设置指定类中方法的参数值
    • public Object invoke(Object obj,Object… args)
    • 注 : 静态方法Object obj为null/this.class

你可能感兴趣的:(java)