现在还在读基础班,刚刚 把API学完 自己总结了下. 在基础班的同学来提提意见
Object 类
构造方法:
默认构造方法:public object(){}
成员方法:
public int hashCode()
默认情况下返回的是对象在内存中的地址值
public final Class getClass()
默认情况下返回的带包名的类名
public String toString()
默认情况下 返回的是 带包名的类名@地址值
public boolean equals()
默认情况下 比较两个对象的地址值.一般都会重写此方法在比较两个对象的值
Scanner 类
成员方法
public boolean hasNextInt():
读取一个整数,判断类型,返回boolean值
public int nextLnt():
读取一个整数,并把这个整数返回
public String nextLine():
读取一个字符串,并把这个字符串返回
注意:先获取一个数值,在获取一个字符串,会出现问题。
主要原因:就是那个换行符号的问题。
如何解决呢?
A:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。
B:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。
String 类
构造方法
public String()
public String(byte[] bytes):把字节数组转换为String
public String(byte[] bytes,int index,int length):把字节数组从index到length变为字符串
public String(char[] value):把字符数组转换为字符串
public String(char[] vaule,int index,int length):把字符数组从index到length变为字符串
public String(String original):把字符串常量值转换为字符串
成员方法
判断方法
boolean equals(Object obj):比较两个字符串是否相等,区分大小写
boolean equalsgnoreCase(String str):比较两个对象的值是否相等,不区分大小写
boolean contains(String str):判断是否大串是否带有小串
boolean startsWith(String str):判断字符串是否以某字符串开头
boolean endsWith(String str):判断字符串是否以某字符串结尾
boolean isEmpty():判断字符串是否为空
获取方法
int length():获取字符串的长度
char charAt(int index):获取指定索引的字符
int indexOf(int ch):获取指定字符在字符串第一次出现的索引
int indexOf(String str):获取指定字符串在 此字符串第一次出现的索引
int indexOf(int ch,int fromIndex):获取指定字符在此字符串中从指定位置后第一次出现处的索引。
int indexOf(String str,int fromIndex)获取指定字符串在此字符串中从指定位置后第一次出现处的索引。
String subString(int start):从指定位置截取字符串到最后
String subString(int start,int end):从指定位置开始到指定位置结束 截取(包前不包尾)
替换方法
byte[] getBytes():把字符串转为字节数组
char[] toCharArray():把字符串转换为字符数组
static String valueOf(char[] chs):把字符数组转换为字符串
ststic String valueOf(int i):把int类型转换为字符串
String toLowerCase():把字符串转换为小写
String toUpperCase():把字符串转换为大写
String concat(String str):把字符串拼接
其它方法
String trim():去除字符串两端的空格
int compartTo(String str):比较连个字符串的字段顺序
int compartTolgnoreCase(String str):同上 不计大小写
正则表达式:
String regex="";定义一种规则
格式标准:
字符类:
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
预定义字符类:
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
Greedy 数量词:
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
方法
public boolean matches(String regex):按照给定的格式判断返回boolean
public String[]split(String regex):把一个字符串 按照给定格式 分割成一个字符数组
public String replaceAll(String regex,String replacement):替换能功能 把这个字符串替换另一个字符串
String Buffer 类
构造方法
public StringBuffer():无参构造
public StringBuffer(int capacity):指定容量大小
public StringBuffer(String str):指定内容
添加方法
public StringBuffer append(String str):添加字符串到末尾
public StringBuffer insert(int offfset.String str):在指定索引插入字符串,返回本身
删除方法
public StringBuffer deleteChar(int index):删除指定位置字符
public StringBuffer delete(int start,int end):从start到end删除
替换方法
public StringBuffer replace(int start,int end,String str):从start到end用str替换
public StringBuffer reverse():字符串反转
截取方法
public StringBuffer(int start):截取从strat索引开始 一直到最后 截取
public StringBuffer(int start,int end):截取从 start到end
注意:
StringBuffer和 StringBuilder 方法一样
区别
StringBuffer是线程安全效率低 StringBuilder是线程不安全效率高
StringBuiler是JDK1.5以后出来的
Arrays 类(工具类 方法为静态 类名直接调用)
成员方法
public static String toString(int[] a):把一个数组转为字符串
public static void sort(int[] a):排序
public static int binarySearch(int[] a,int key):二分查找(它只能查找有序的数组)
基本类型包装类
byte Byte类
short Short类
int Integer类
long Long类
float Float类
double Double类
char Character类
boolean Boolean类
Intteger类
静态变量
Integer.MAX_VALUE 值为 2^31-1 的常量,它表示 int 类型能够表示的最大值。
Integer.MAN_VALUE 值为 -2^31 的常量,它表示 int 类型能够表示的最小值。
构造方法
public Integer(int i):把int 转换为integer
public Integer(String s):把String 转换为integer
静态方法
public static int parselnt(String s):把String转为为int
public static String toString(int a):把int值转换为String
public static String toBinaryString(int a):把int 转换为2进制的String
public static String toOctalString(int a):把int 转换为8进制的String
public static String toHexString(int a):把int 转换为16进制的String
String和int的互相转换
Integer.parseInt("100"); String>>int
String.valueOf(100); int>>String
Character 类
构造方法
Character ch=new Character('a');
判断方法
static boolean isUpperCase(char ch):确定指定字符是否为大写字母。
static boolean isLowerCase(char ch):确定指定字符是否为大写字母。
static boolean isDigit(char ch):确定指定字符是否为数字。
转换方法
static char toLowerCase(char ch):把指定字符转换为小写.
static char toUpperCase(char ch):把指定字符转换为大写.
System 类
public static void gc():运行垃圾回收器
public static void exit(int status):关闭JVM(java虚拟机) 非 0 的状态码表示异
public static long currentTimeMillis():返回一个long类型的 当前毫秒值
public static void arraycopy(Object src, int start1, Object dest, int start2, int len):把一个字符串 复制到另一个字符串的指定位置的指定长度
Math 类
Biginteger 类
BigDecimal 类
Random 类
Date 类
构造方法
public Date()
成员方法
public Date(long time):返回一个当前毫秒值
public long getTime():设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点
public void setTime(long time):返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
SimpleDateFormat 类
成员方法
public String format(Date date):把时间转换为字符串
public Date parse(String str:):把字符串转换为时间
public SimpleDateFormat(String str):用String定义格式
Calendar 类
成员方法
public static Calendar getnstance():返回它的一个对象
piblic int get(int i):返回指定字段的时间
public void set( ....) 设置时间
public void add(int field, int a)改变时间 加或减
集合框架
Collection(单列集合)
|--List 有序,可重复
|--ArrayList
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高
|--Vector
底层数据结构是数组,查询快,增删慢。
线程安全,效率低
|--LinkedList
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
|--Set 无序,唯一
|--HashSet
底层数据结构是哈希表。
线程不安全,效率高
如何保证元素唯一性的呢?
依赖两个方法:hashCode()和equals()
开发中自动生成这两个方法即可
|--LinkedHashSet
底层数据结构是链表和哈希表
由链表保证元素有序
由哈希表保证元素唯一
|--TreeSet
底层数据结构是红黑树。
线程不安全,效率高
如何保证元素排序的呢?
自然排序
比较器排序
如何保证元素唯一性的呢?
根据比较的返回值是否是0来决定
Map(双列集合)
|--HashMap 键是哈希表 (HashTeble 是jdk1.0出现的 线程安全,效率低;HashMap是jdk1.2出现的 线程不安全,效率高 )
(HashTeble 键和值不能为null;HashMap 键和值可以为null)
|--LinkedHashMap 键是哈希表和链表 保证了键的唯一和存取顺序
|--TreeMap 键是二叉树
Collection 接口
添加功能
boolean add(Object obj):添加一个元素
boolean addAll(Collection c):添加一个集合的元素
删除功能
void clear():移除所有元素
boolean remove(Object o):移除一个元素
boolean removeAll(Collection c):移除一个集合的元素(是一个还是所有)
判断功能
boolean contains(Object o):判断集合中是否包含指定的元素
boolean containsAll(Collection c):判断集合中是否包含指定的集合元素(是一个还是所有)
boolean isEmpty():判断集合是否为空
获取功能
Iterator<E> iterator()(重点)
长度功能
int size():元素的个数
交集功能
boolean retainAll(Collection c):
把集合转换为数组
Object[] toArray()
List 类
添加功能
public void add(int index,Object obj):在指定位置添加元素
删除功能
public Object remove(int index):删除这个索引的数据,并返回该值
获取功能
public Object get(int index):返回该索引的值
替换功能
public Object set(int index,Object obj):替换该索引的值 并返回原来的元素
迭代器
public ListIterator Iterator():获取迭代器
ArrayList 类
继承与List类 最常用
Vector 类
特有功能
public void addElement(E Obj):添加到末尾
public E elementAt(int index):此方法的功能与 get(int) 方法的功能完全相同
public Enumeration element():返回此向量的组件的枚举。
LinkedList 类
特有功能
public void addFirst(E e)及addLast(E e):将元素添加到开头和末尾
public E getFirst()及getLast():返回一个和最后一个元素
public E removeFirst()及public E removeLast():删除并返回第一个和最后一个元素
public E get(int index):获取元素
Set 接口
HashSet 类
方法全部继承于Collection
TreeSet 类
特有方法
E first():返回此 set 中当前第一个(最低)元素。
E last():返回此 set 中当前最后一个(最高)元素。
E floor(E e):返回此 set 中小于等于给定元素的最大元素;如果不存在这样的元素,则返回 null。
E lower(E e):返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null。
Map接口
添加功能
V put(K key,V value):添加元素
*如果添加的键值不存在,就返回一个null,并把元素添加进去
*如果添加的键值存在,就返回原来的值,并用新值覆盖
删除功能
void clear():删除所有元素
V remove(Object key):删除指定键的键和值,并把值返回
判断功能
boolean containsKey(Object key):判断是集合是否有指定键
boolean containsValue(object value):判断集合是否有指定值
boolean isEmpty():判断集合是否为空
获取功能
Set<Map.Entry<K,V>> entrySet():返回一个键,值对象,一般用Set<Mat.Entry<K,V>> 来接收
V get(Object k):根据键 来获取值
Set<k> KeySet():返回一个Set类型所以键的集合
Collection<V> values():返回一个Collection类型所以值的集合
长度功能
int size():返回这个集合的元素个数(键值对)
|
|