基础类
来源:互联网 发布:逆波兰表达式算法 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); }}
- 类基础
- 类基础
- 类基础
- 类:基础
- 类:基础
- 类 基础
- 基础类
- J2SE基础:1.类和对象基础
- python基础学习九:类基础
- xml类的基础
- 类基础—困惑
- SQL连接基础类
- java数据库基础类
- Java类基础结构
- 数据访问基础类
- C++基础--抽象类
- MFC(微软基础类)
- action 基础类
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)-D:数圈圈(数位DP)
- 通过表单为数据库增添数据示例
- 面向对象--简单的静态内部类
- Dockerfile:nginx镜像编写
- Linux——nfs
- 基础类
- RPC和WebService的比较
- qrcode a样式,url情况,引导页,二维码
- 蓝桥杯 矩形面积交
- 栈和队列面试题1【菜鸟学习日记】
- 简单的彩色图像分割
- Lesson 3 上机练习题——继承
- linux命令service xxx start是如何工作的
- 1139. First Contact (30)