Java基础
获取环境变量
System.getenv(“PATH”);System.getenv(“JAVA_HOME”);2.获取系统属性
System.getProperty(“pencil color”); //
得到属性值
java -Dpencil color=greenSystem.getProperty(“java.specification.version”); //
得到
Java
版本号
Properties p = System.getProperties; //
得到所有属性值
p.list(System.out);3.String Tokenizer//
能够同时识别
,
和
|StringTokenizer st = new StringTokenizer(“Hello, World|of|Java”, “, |”);while (st.hasMoreElements) {st.nextToken;}//
把分隔符视为
tokenStringTokenizer st = new StringTokenizer(“Hello, World|of|Java”, “, |”, true);4.StringBuffer(
同步
)
和
StringBuilder(
非同步
)StringBuilder sb = new StringBuilder;sb.append(“Hello”);sb.append(“World”);sb.toString;new StringBuffer(a).reverse; //
反转字符串
5.
数字
//
数字与对象之间互相转换
– Integer
转
intInteger.intValue;//
浮点数的舍入
Math.round//
数字格式化
NumberFormat//
整数
->
二进制字符串
toBinaryString
或
valueOf//
整数
->
八进制字符串
toOctalString//
整数
->
十六进制字符串
toHexString//
数字格式化为罗马数字
RomanNumberFormat//
随机数
Random r = new Random;r.nextDouble;r.nextInt;6.
日期和时间
//
查看当前日期
Date today = new Date;Calendar.getInstance.getTime;//
格式化默认区域日期输出
DateFormat df = DateFormat.getInstance;df.format(today);//
格式化制定区域日期输出
DateFormat df_cn = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA);String now = df_cn.format(today);//
按要求格式打印日期
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);sdf.format(today);//
设置具体日期
GregorianCalendar d1 = new GregorianCalendar(2009, 05, 06); // 6
月
6
日
GregorianCalendar d2 = new GregorianCalendar; //
今天
Calendar d3 = Calendar.getInstance; //
今天
d1.getTime; // Calendar
或
GregorianCalendar
转成
Date
格式
d3.set(Calendar.YEAR, 1999);d3.set(Calendar.MONTH, Calendar.APRIL);d3.set(Calendar.DAY_OF_MONTH, 12);//
字符串转日期
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);Date now = sdf.parse(String);//
日期加减
Date now = new Date;long t = now.getTime;t += 700*24*60*60*1000;Date then = new Date(t);Calendar now = Calendar.getInstance;now.add(Calendar.YEAR, -2);//
计算日期间隔
(
转换成
long
来计算
)today.getTime – old.getTime;//
比较日期
Date
类型,就使用
equals, before, after
来计算
long
类型,就使用
==, <, >
来计算
//
第几日使用
Calendar
的
get
方法
Calendar c = Calendar.getInstance;c.get(Calendar.YEAR);//
记录耗时
long start = System.currentTimeMillis;long end = System.currentTimeMillis;long elapsed = end – start;System.nanoTime; //
毫秒
//
长整形转换成秒
Double.toString(t/1000D);7.
结构化数据
//
数组拷贝
System.arrayCopy(oldArray, 0, newArray, 0, oldArray.length);// ArrayListadd(Object o) //
在末尾添加给定元素
add(int i, Object o) //
在指定位置插入给定元素
clear //
从集合中删除全部元素
Contains(Object o) //
如果
Vector
包含给定元素,返回真值
get(int i) //
返回指定位置的对象句柄
indexOf(Object o) //
如果找到给定对象,则返回其索引值;否则,返回
-1remove(Object o) //
根据引用删除对象
remove(int i) //
根据位置删除对象
toArray //
返回包含集合对象的数组
// IteratorList list = new ArrayList;Iterator it = list.iterator;while (it.hasNext)Object o = it.next;//
链表
LinkedList list = new LinkedList;ListIterator it = list.listIterator;while (it.hasNext)Object o = it.next;// HashMapHashMap<String, String> hm = new HashMap<String, String>;hm.get(key); //
通过
key
得到
valuehm.put(“No1”, “Hexinyu”);hm.put(“No2”, “Sean”);//
方法
1:
获取全部键值
Iterator<String> it = hm.values.iterator;while (it.hasNext) {String myKey = it.next;String myValue = hm.get(myKey);}//
方法
2:
获取全部键值
for (String key : hm.keySet) {String myKey = key;String myValue = hm.get(myKey);}// Preferences –
与系统相关的用户设置,类似名
-
值对
Preferences prefs = Preferences.userNodeForPackage(ArrayDemo.class);String text = prefs.get(“textFontName”, “lucida-bright”);String display = prefs.get(“displayFontName”, “lucida-balckletter”);System.out.println(text);System.out.println(display);//
用户设置了新值,存储回去
prefs.put(“textFontName”, “new-bright”);prefs.put(“displayFontName”, “new-balckletter”);// Properties –
类似名
-
值对,
key
和
value
之间,可以用
”=”
,
”:”
或空格分隔,用
”#”
和
”!”
注释
InputStream in = MediationServer.class.getClassLoader.getResourceAsStream(“msconfig.properties”);Properties prop = new Properties;prop.load(in);in.close;prop.setProperty(key, value);prop.getProperty(key);//
排序
1.
数组:
Arrays.sort(strings);2. List
:
Collections.sort(list);3.
自定义类:
class SubComp implements Comparator
然后使用
Arrays.sort(strings, new SubComp)//
两个接口
1. java.lang.Comparable:
提供对象的自然排序,内置于类中
int compareTo(Object o);boolean equals(Object o2);2. java.util.Comparator:
提供特定的比较方法
int compare(Object o1, Object o2)//
避免重复排序,可以使用
TreeMapTreeMap sorted = new TreeMap(unsortedHashMap);//
排除重复元素
Hashset hs – new HashSet;//
搜索对象
binarySearch:
快速查询
– Arrays, Collectionscontains:
线型搜索
– ArrayList, HashSet, Hashtable, linkedList, Properties, VectorcontainsKey:
检查集合对象是否包含给定
– HashMap, Hashtable, Properties, TreeMapcontainsValue:
主键
(
或给定值
) – HashMap, Hashtable, Properties, TreeMapindexOf:
若找到给定对象,返回其位置
– ArrayList, linkedList, List, Stack, Vectorsearch:
线型搜素
– Stack//
集合转数组
toArray;//
集合总结
Collection: Set – HashSet, TreeSetCollection: List – ArrayList, Vector, LinkedListMap: HashMap, HashTable, TreeMap
!