2012年10月22日 星期一

Java筆記-List, Set, Map 集合物件

List => 有順序性 
ArrayList => 插入、刪除速度慢,走訪速度快 
LinkedList => 插入、刪除速度快,走訪速度慢,採雙向鏈結

Set => 元素不可重複,搜尋快 

HashSet => 無順序性,查找速度快 
LinkedHashSet => 有順序性 
TreeSet => 有排序性(依字母),由紅黑樹所建 

Map => 有元素鍵值,搜尋快

LinkedHashMap =>  查找速度慢,插入、刪除速度快 
TreeMap => 有排序性,由紅黑樹所建 

原始集合 => 不同的是皆被宣告為具有Synchronized特性

Vector => ArrayList的前身,當超出範圍時,vector是擴充元有的一倍,ArrayList則是擴充一半 
Stack => 採FILO原則,繼承Vector,但應使用LinkedList來代替 
Hashtable => 不予許為null,所以比HashMap稍慢 
HashMap => 查找速度快,鍵、值予許為null


集合介面
排序性
順序性
不予許重複
使用鍵值
SortedSet

SortedMap


HashMap
Hashtable
TreeMap
LinkedHashMap
HashSet
TreeSet

LinkedHashSet
ArrayList
Vector
LinkedList

java.util.Collection 

      <- java.util.List 
            <- java.util.ArrayList  
            <- java.util.LinkedList  
            <- java.util.Vector  
                  <- java.util.Stack 
      <-java.util.Set  
            <- java.util.HashSet  
            <- java.util.SortedSet 
                  <- java.util.TreeSet 
java.util.Map 
      <- java.util.SortedMap 
            <- java.util.TreeMap 
      <- java.util.Hashtable 
      <- java.util.HashMap 
      <- java.util.LinkedHashMap 
      <- java.util.WeakHashMap

2012年9月4日 星期二

Date 轉 Calendar

 1 import java.util.*;
 2 import java.text.*;
 3 public class CTest {
 4 public CTest() {
 5 }
 6 public static void main(String[] args) {
 7     CTest CTest1 = new CTest();
 8     SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
 9     Date now = new Date(); //取得現在時間
10     DateFormat df = DateFormat.getDateInstance();
11     String s = df.format(now);
12     // or
13     // String s = formatter.format(now)
14     System.out.println("Today is " + s);
15
16     //Convert java.util.Date to Calendar
17    Calendar ctest = Calendar.getInstance(); //create Calendar Instance
18     ctest.setTime(now ); //將date object 設給Calendar object
19     ctest.add(Calendar.MONDAY,1); // 加一个月
20     //for printing
21    Date d = ctest.getTime();
22     df = DateFormat.getDateInstance();
23     s = df.format(d);
24     System.out.println("GC is " + s);
25     // get long number
26     System.out.println("now.getTime is " + now.getTime());
27     System.out.println("startthis.getTime is " + ctest.getTime().getTime());
28     }
29 }

2012年9月3日 星期一

Java string to date(字串轉日期)


//欲轉換的日期字串
String dateString = "20010-03-02 20:25:58";
//設定日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//進行轉換
Date date = sdf.parse(dateString);
System.out.println(date);

Java date to string(日期轉字串)


//目前時間
Date date = new Date();
//設定日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//進行轉換
String dateString = sdf.format(date);
System.out.println(dateString);

Java string to int(字串轉整數)

1. int intValue = Integer.valueOf("12345");

2. int intValue = Integer.parseInt("12345");

Java int to String(整數轉字串)


1. String stringValue = Integer.toString(12345);

2. String stringValue = String.valueOf(12345);

3. String stringValue = new String(""+12345);

Eclipse hotkey (熱鍵、快捷鍵)


ctrl + / 註解 (取消註解)

ctrl + shift + O 自動匯入所欠缺的類別

alt + ← 移至上一次游標所在位置

alt + → 移至下一次游標所在位置

ctrl + shift + P 移至匹配的括號

ctrl + Q 移至上一次編輯的位置

ctrl + shift + L 列出所有快速鍵

alt + / 程式碼輔助

ctrl + D 刪除單一行

ctrl + shift + F 程式碼自動排版

ctrl+ L 移至指定行數

ctrl+shift+Y 小寫字母

ctrl+shift+X 大寫字母

ctrl+alt+/ 自動完成

ctrl+3 搜尋在分頁中的檔案

ctrl+shift+U

alt+shift+J 加入Java doc說明

ctrl+* Expand All

ctrl+shift+T search

ctrl+shift+R Open Resource

ctrl+F6 上次使用的檔案

ctrl+alt+H 顯示繼承架構

ctrl+shift+G references in workspace

ctrl+F11 快速執行

F11 快速執行(Debug模式)

ctrl+K 快速搜尋選取的字

ctrl+1 自動修復