鸟随鸾凤飞腾远,人伴贤良品自高

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

一:集合框架和泛型
△为什么使用集合框架?
数组长度固定,而集合是“动态数组”,
如果不知道存储多少对象,可以使用集合框架

△java集合框架提供了一套性能优良,使用方便的接口和类,位于java.util包中
父接口Collection
子接口List:存储不唯一,有序的对象

①实现类ArrayList
实现了长度可变的数组,遍历元素和随机访问元素的效率高
add(Object)
add(index,Object)
remove(Object)
remove(index)
get(index)
clear()
isEmpty()
contains(Object)
toArray()
size()

②实现类LinkedList
采用链表的存储方式,插入和删除的效率比较高
addFirst(Object)
addLast(Object)
getFirst()
getLast()
removeFirst()
removeLast()

③子接口Set:
存储唯一,无序的对象
实现类HashSet
实现类TreeSet

④Map接口:
存储键值对,键不可重复,值可以重复
实现类HashMap
put()
remove()
containsKey()
containsvalue()
Set ketSet()
Collection values()
实现类TreeMap

△list遍历方式有3种
普通for循环
增强for
迭代器
set遍历方式2种
增强for
迭代器

△泛型
Hashmap<Integer,Student> map = new Hashmap();

△collections:操作集合的类
sort()
binarySearch()
max() min()
fill()
reverse()

第二章:包装类

1、枚举类型
如果想限制性别只能为男女,可通过两种方式:
方式一:条件判断
方式二:枚举
枚举是由一组固定的常量组成的类型,其优点:类型安全,易于输入,代码清晰

2、包装类java.lang

//把字符串转换成相应得基本类型
     boolean flag=Boolean.parseBoolean("true");  //true
     int num=Integer.parseInt("25");
    //装箱:将基本类型转换为包装类型
    Integer n=5;
    //拆箱:将包装类型转换为基本类型
    int s=n;

3、生成0-10之间随机数两种方式

1、Random r=new Random();
      r.nextInt(10);
    2、int s=(int)(Math.random()*10);

4、String:不可变的字符串
长度:length()
比较:equals() ==
大写:toUpperCase()
小写:toLowerCase()
忽略大小写:equalsIngorecase()
字符串连接:concat()=>+
字符第一次出现的下标:indexof()
截取:substring(bengin,end)
拆分:split()
根据下标或字符:Char charAt(index)
去空格 trim()

5、StringBuffer:可变的字符串,自动的伸缩
追加:append()
转换:String:toString()
插入:insert(index,String str)

6、String Stringbuffer StringBuilder区别
String:字符串常量
不可变对象,所以经常改变字符串内容最好不要用String,
因为每次生成对象都会对系统性能产生影响
StringBuffer:字符串变量
可变字符串,每次改变都是对对象本身操作,而不是生成新的对象
所以经常改变字符串内容推荐使用StringBuffer,线程安全
StringBuilder:字符串变量
和StringBuffer等价,线程不安全,效率更高

7、日期类:java.util

Date
     //格式化:日期格式-》文本格式
     SimpleDateFormat formater=
            new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String s=formater.format(date);
    // 解析:文本格式-》日期格式
        Date d=formater.parse(s);   
    Date类的增强版Calendar
         Calendar c=Calendar.getInstance();
          System.out.println("今天是"+c.get(Calendar.YEAR)+"年"
            +(c.get(Calendar.MONTH)+1)+"月"+
            c.get(Calendar.DAY_OF_MONTH)+"日,星期"+
            (c.get(Calendar.DAY_OF_WEEK)-1));
        Date date=c.getTime();
       System.out.println(date);

第三章:I/0
文件
File
createFile()
delete()
exists()
isFile()
isDirectory()
getPath()
getName()
字节流
FileInputStream fis=new FileInputStream(file)
FileOutputStream fos=new FileOutputStream(file,true)
字符流
FileReader fr=new FileReader(file);
FileWriter fw=new FileWriter(file,true)