1.基础类库
java.lang(自动导入java.lang.*的)
java.util
java.io
java.awt javax.swing 图像用户界面
java.net
java.sql
2.Objcet类
a.equals
“==” 判断是否为同一个引用
equals 是否内容(含义)相等
例:
public class MyDate {
public static void main(String[] args)
{
String name1 = new String("LiMing");//false
String name2 = new String("LiMing");//true
System.out.println(name1 == name2);
System.out.println(name1.equals(name2));
String name3 = "LiMing";//true
String name4 = "LiMing";//true
System.out.println(name3 == name4);
System.out.println(name3.equals(name4));
}
}
b.getClass()
c.toString()
d.finalize()
e.线程相关 notify()、notifyAll()、wait()
3.包装类
将基本类型包装成引用类型
例:int->Integer
基本类型包装类 8类:Integer, Float, Long, Double, Boolean, Character, Byte, Short
Integer I = new Integer(10);
装箱:
Integer I = 10;
(Integer I = Integer.valueOf(10);)
拆箱
int i = I;
(int i = I.intvalue();)
4.Math类
例
Math.ceil()
Math.PI
5.System类
6.字符串
a.String 类 (对象不可修改,常量内部化)
(1)创建并返回新的String实例
(2)查找
(3)比较
(4)字符及长度
(5)format
b.StringBuffer、StringBuilder类
修改操作的方法:append,insert,reverse,setCharAt,setLength
c.分割
7.日期类
a.Calendar
b.Date
c.format
d.Java8
8.集合类
Collection API
接口:add, remove, size(), isEmpty(), contains(), iterator()
Iterator iterator = iterable.iterator();
while(iterator.hasNext()) doSomething(iterator.next());
a.List接口,实现类:ArrayList, LinkedList, vector
相册例子:
class Test
{
public static void main(String[] args)
{
List<Photo> album = new LinkedList<>();
album.add(new Photo("one", new Date(), "classroom"));
album.add(new Photo("two", new Date(), "library"));
album.add(new Photo("three", new Date(), "gym"));
Iterator<Photo> iter = album.iterator();
while(iter.hasNext())
{
Photo photo=iter.next();
System.out.println(photo.toString() );
}
for ( Photo photo:album )
{
System.out.println( photo.toString() );
}
}
}
class Photo
{
String title;
Date date;
String memo;
Photo(String title, Date date, String memo)
{
this.title = title;
this.date = date;
this.memo = memo;
}
@Override
public String toString()
{
return title + " (" + date + " )" + memo;
}
}
Stack
主要三种方法:1.push() 2.pop() 3.empty()
例子:月份压入与弹出
import java.util.*;
public class Stacks
{
static String[] s={"January", "February", "March", "April"};
public static void main(String[] args)
{
Stack stk = new Stack();
for(int i=0;i<s.length;i++)
{
stk.push(s[i] + " ");
}
System.out.println(stk);
while(!stk.empty())
{
System.out.println(stk.pop());
}
}
}
Queue
重要实现 LinkedList
1.插入 offer
2.移除 poll
3.检查 peek
4.isEmpty()
import java.util.*;
public class Queue
{
public static void main(String[] args)
{
Queue<Integer> q = LinkedList<>()
for(int i=0; i<5; i++)
{
q.offer(i);
}
while(!q.isEmpty())
{
System.out.println(q.poll());
}
}
}
b.Set
Set中的对象不重复,即hashCode()不等
两个重要实现:
1.HashSet
2.TreeSet 底层用TreeMap来实现
import java.util.*;
public class MyDate {
public static void main(String[] args)
{
Set s = new HashSet();
s.add("1st");
s.add("2nd");
s.add("3rd");
s.add(new Integer(6));
s.add(new Double(6.0));
s.add("2nd");
s.add(new Integer(6));
print(s);
}
public static void print(Set s)
{
System.out.println(s);
}
}
c.Map
取到entrySet()、keySet()、values()
Map.Entry是一个嵌套接口
重要实现 1.HashMap 2.TreeMap
例:添加,遍历获取值,迭代获取值
import java.util.*;
public class MyDate {
public static void main(String[] args)
{
Map p = new HashMap();
p.put("one", "A");
p.put("two", "B");
p.put("three", "C");
p.put(new String("five"), "E");
p.put(new String("five"), "O");
p.put("four", "D");
System.out.println(p.get("three"));
for(String key:p.keySet())
{
System.out.println(key + ":" + p.get(key));
}
for(String value:p.values())
{
System.out.println(value);
}
for(Map.Entry<String, String> entry:p.entrySet())
{
System.out.println(entry.getKey()+entry.getValue());
}
Iterator iter = p.entrySet().iterator();
while(!iter.hasNext())
{
Map.Entry<String, String> entry = (Map.Entry<String, String>) iter.next();
System.out.println(entry.getKey() + entry.getValue());
}
}
}
9.排序,查找与比较
Arrays类
Arrays.<String>sort(s);
int loc = Arrays.<String>binarySearch(s, s[2]);
Collection类
import java.util.*;
class Test()
{
public static void main(String[] args)
{
List<Person> school = new ArrayList<>();
school.add(new Person("Li",23));
school.add(new Person("Sun",23));
school.add(new Person("Chen",23));
school.add(new Person("Wu",23));
System.out.println(school);
Collections.sort(school, new PersonComparator() );
System.out.println(school);
int index = Collections.binarySearch(school,new Person("Li",23), new PersonComparator() );
if( index >=0 )
{
System.out.println("Found:" + school.get(index));
}
else
{
System.out.println("Not Found!");
}
}
}
class Person
{
String name;
int age;
public Person(String name,int age)
{
this.name = name;
this.age = age;
}
@Override
public String toString(){
return name+":"+age;
}
}
class PersonComparator implements Comparator
{
public int compare(Object obj1, Object obj2)
{
Person p1 = (Person)obj1;
Person p2 = (Person)obj2;
if(p1.age > p2.age) return 1;
else if(p1.age < p2.age) return -1;
return p1.name.compareTo(p2.name);
}
}