基础类

来源:互联网 发布:逆波兰表达式算法 java 编辑:程序博客网 时间:2024/06/08 15:18

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);    }}
原创粉丝点击