顯示具有 JAVA.util套件 標籤的文章。 顯示所有文章
顯示具有 JAVA.util套件 標籤的文章。 顯示所有文章

2014年4月12日 星期六

[JAVA]星期幾轉換中文字

1. 工具及套件版本說明及使用權限:
使用JAVA util 套件 版本 JDK 6
import java.util.Calendar;
import java.util.Date
2. 功能及用途說明:
傳入日期,傳出星期中文字。
3. 流程原理說明:
3.1 傳入Date日期物件後,轉為Calendar物件
3.2 利用enum物件將中文字存入及Calendar星期代碼
3.3 利用Calendar.DAY_OF_WEEK 取出星期代碼
3.4 最後用switch功能,依代碼回傳中文字星期
4. 如何實作套用範例說明:
直接呼叫及可EWeekDay.getWeekOfDate(要Date日期物件);






package com.test;

import java.util.Calendar;
import java.util.Date;

/**
 * 星期幾轉換中文字
 * 
 * @author levin
 *
 */
public enum EWeekDay {
 /**
  * 星期日
  */
 SUNDAY("\u661f\u671f\u65e5", Calendar.SUNDAY),
 /**
  * 星期一
  */
 MONDAY("\u661f\u671f\u4e00", Calendar.MONDAY),
 /**
  * 星期二
  */
 TUESDAY("\u661f\u671f\u4e8c", Calendar.TUESDAY),
 /**
  * 星期三
  */
 WEDNESDAY("\u661f\u671f\u4e09", Calendar.WEDNESDAY),
 /**
  * 星期四
  */
 THURSDAY("\u661f\u671f\u56db", Calendar.THURSDAY),
 /**
  * 星期五
  */
 FRIDAY("\u661f\u671f\u4e94", Calendar.FRIDAY),
 /**
  * 星期六
  */
 SATURDAY("\u661f\u671f\u516d", Calendar.SATURDAY);

 /**
  * 存放中文字
     * @see #SUNDAY
     * @see #MONDAY
     * @see #TUESDAY
     * @see #WEDNESDAY
     * @see #THURSDAY
     * @see #FRIDAY
     * @see #SATURDAY
  */
 private final String value;

 /**
  * Calendar field
  * @see java.util.Calendar#DAY_OF_WEEK
     * @see java.util.Calendar#SUNDAY
     * @see java.util.Calendar#MONDAY
     * @see java.util.Calendar#TUESDAY
     * @see java.util.Calendar#WEDNESDAY
     * @see java.util.Calendar#THURSDAY
     * @see java.util.Calendar#FRIDAY
     * @see java.util.Calendar#SATURDAY
  */
 private final int field;

 private EWeekDay(String value, int field) {
  this.value = value;
  this.field = field;
 }

 /**
  * 取得中文字
  * @return
  */
 public String getValue() {
  return value;
 }

 /**
  * 取得代數號
  * @return
  */
 public int getField() {
  return field;
 }

 /**
  * 將Calendar裡的星期編碼轉換中文字
  * @param field
  * @return
  */
 public static String converChineseWord(int field) {
  switch (field) {
  case Calendar.SUNDAY:
   return EWeekDay.SUNDAY.getValue();
  case Calendar.MONDAY:
   return EWeekDay.MONDAY.getValue();
  case Calendar.TUESDAY:
   return EWeekDay.TUESDAY.getValue();
  case Calendar.WEDNESDAY:
   return EWeekDay.WEDNESDAY.getValue();
  case Calendar.THURSDAY:
   return EWeekDay.THURSDAY.getValue();
  case Calendar.FRIDAY:
   return EWeekDay.FRIDAY.getValue();
  case Calendar.SATURDAY:
   return EWeekDay.SATURDAY.getValue();
  default:
   return "";
  }
 }

 /**
  * 傳入日期是取得星期中文字

  * 
  * @param date
  * @return 星期幾中文字
  */
 public static String getWeekOfDate(Date date) {
  Calendar cal = Calendar.getInstance();
  cal.setTime(date);
  return EWeekDay.converChineseWord(cal.get(Calendar.DAY_OF_WEEK));
 }
}


















其它文章

2013年10月6日 星期日

[JAVA]取出Map的資料使用loop -- Iterator、foreach、for




  Map myMap = new HashMap();
  myMap.put("1", "星期一");
  myMap.put("2", "星期二");
  myMap.put("3", "星期三");
  myMap.put("4", "星期四");
  myMap.put("5", "星期五");
  myMap.put("6", "星期六");
  myMap.put("7", "星期日");
  
  System.out.println("1、使用Iterator取得 ...");
  //順序  Map -> Set -> Iterator -> Map.Entry -> getKey, getValue
  //Java 1.2 以上
  Iterator iterator = myMap.entrySet().iterator();
  while (iterator.hasNext()) {
   Map.Entry mapEntry = (Map.Entry) iterator.next();
   System.out.println("The key is: " + mapEntry.getKey()
    + ",value is :" + mapEntry.getValue());
  }
  
  System.out.println("2、使用for Iterator取得 ...");
  // myMap.entrySet().iterator()
  //Java 1.2 以上
  for (Iterator it = myMap.entrySet().iterator(); it.hasNext();) {
   Map.Entry mapEntry = (Map.Entry) it.next();
   System.out.println("The key is: " + mapEntry.getKey()
    + ",value is :" + mapEntry.getValue());
  }
  
  
  System.out.println("3、使用foreach取得 ...");
  // 使用myMap.entrySet()
  //Java 5 以上
  for (Map.Entry entry : myMap.entrySet()) {
   System.out.println("Key : " + entry.getKey() + " Value : "
    + entry.getValue());
  }
  
  System.out.println("4、使用foreach取得 ...");
  // myMap.keySet()
  //Java 5 以上
  for (Object key : myMap.keySet()) {
   System.out.println("Key : " + key.toString() + " Value : "
    + myMap.get(key));
  }






顯示如下:
1、使用Iterator取得 ...
The key is: 3,value is :星期三
The key is: 2,value is :星期二
The key is: 1,value is :星期一
The key is: 7,value is :星期的
The key is: 6,value is :星期六
The key is: 5,value is :星期五
The key is: 4,value is :星期四
2、使用for Iterator取得 ...
The key is: 3,value is :星期三
The key is: 2,value is :星期二
The key is: 1,value is :星期一
The key is: 7,value is :星期的
The key is: 6,value is :星期六
The key is: 5,value is :星期五
The key is: 4,value is :星期四
3、使用foreach取得 ...
Key : 3 Value : 星期三
Key : 2 Value : 星期二
Key : 1 Value : 星期一
Key : 7 Value : 星期的
Key : 6 Value : 星期六
Key : 5 Value : 星期五
Key : 4 Value : 星期四
4、使用foreach取得 ...
Key : 3 Value : 星期三
Key : 2 Value : 星期二
Key : 1 Value : 星期一
Key : 7 Value : 星期的
Key : 6 Value : 星期六
Key : 5 Value : 星期五
Key : 4 Value : 星期四








其它文章

2011年12月29日 星期四

[JAVA]JAVA.util套件目錄


包含 collection 框架、遺留的 collection 類別、事件模型、日期和時間設施、
國際化和各種實用工具類別(字元串標記產生器、隨機數產生器和位元陣列)。



介面目錄

  • Collection 
  • Comparator 
  • Deque 
  • Enumeration 
  • EventListener 
  • Formattable 
  • Iterator 
  • List 
  • ListIterator 
  • Map 
  • Map.Entry 
  • NavigableMap 
  • NavigableSet 
  • Observer 
  • Queue 
  • RandomAccess 
  • Set 
  • SortedMap 
  • SortedSet 

類別目錄

  • AbstractCollection 
  • AbstractList 
  • AbstractMap 
  • AbstractMap.SimpleEntry 
  • AbstractMap.SimpleImmutableEntry 
  • AbstractQueue 
  • AbstractSequentialList 
  • AbstractSet 
  • ArrayDeque 
  • ArrayList 
  • Arrays 
  • BitSet 
  • Calendar 
  • Collections 
  • Currency 
  • Date 
  • Dictionary 
  • EnumMap 
  • EnumSet 
  • EventListenerProxy 
  • EventObject 
  • FormattableFlags 
  • Formatter 
  • GregorianCalendar 
  • HashMap 
  • HashSet 
  • Hashtable 
  • IdentityHashMap 
  • LinkedHashMap 
  • LinkedHashSet 
  • LinkedList 
  • ListResourceBundle 
  • Locale 
  • Observable 
  • PriorityQueue 
  • Properties 
  • PropertyPermission 
  • PropertyResourceBundle 
  • Random 
  • ResourceBundle 
  • ResourceBundle.Control 
  • Scanner 
  • ServiceLoader 
  • SimpleTimeZone 
  • Stack 
  • StringTokenizer 
  • Timer 
  • TimerTask 
  • TimeZone 
  • TreeMap 
  • TreeSet 
  • UUID 
  • Vector 
  • WeakHashMap 


其它文章目錄:


















其它文章

2011年12月28日 星期三

[JAVA] 使用iterator取出集合內所有的值

凡是有實作java.lang.Iterable介面的類別,或是繼承java.lang.Iterable介面的介面,都具有iterator()方法,可用iterator取值。Set介面與List介面都有繼承java.lang.Iterable,可以使用iterator取值。
以下以Set介面為例,介紹使用iterator取出集合內所有的值的方法。
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class setPractice {
   public static void main(String args[]){
                /*
                 * 宣告型態為Set,實體為HashSet的變數
                 * setTest,限制只能加 入String型態                         
                 * 的資料到setTest中
                 */
                Set setTest = new HashSet();
                /* 
                 * 宣告Iterator型態的變數 it,
                 * 限制只能將String型態加入it 
                 */ 
                Iterator it; 
                setTest.add("apple"); //apple加入setTest
                setTest.add("banana");//banana加入setTest
                setTest.add("tomato");//tomato加入setTest
               /* setTest呼叫iterator()方法,回傳Iterator型態的物件,
                * 該物件包含所有setTest內所存放的值,
                * 將該物件存入it
                */
                it = setTest.iterator(); 
                /*
                 * hasNext()為使用游標走訪Iterator物件,檢查下一筆元素是包含物件,
                 * 有包含物件則傳回true,否則false。
                 * 游標的起始位置在Iterator第一筆元素之前,所以第一次執行hasNext(),
                 * 會檢查Iterator的第一筆元素,使用此方式可以走訪Iterator內的所有物件
                 */
                 while (it.hasNext()) {   
                /*
                 * next()為使用游標走訪Iterator,取出下一筆的值。
                 * 游標的起始位置在Iterator第一筆之前,所以第一次執行next(),會
                 * 取出Iterator的第一筆資料
                 */
                 System.out.println(it.next());
  }
 }
}

執行結果:banana
        tomato
        apple
綜合以上的介紹,我們整理使用iterator取出集合內所有的值的方法:

1. 該集合類別/介面需要有iterator方法(透過實作/繼承java.lang.Iterable而來)
2. 呼叫iterator方法,取得Iterator型態的物件,該物件包含集合內所有的值
3. 使用while迴圈,迴圈的條件式內使用Iterator型態的物件呼叫hasNext(),迴圈會走訪Iterator的所
   有元素。在while迴圈區塊內使用next(),每次執行回圈,就將走訪到的元素值取出。迴圈全部執行完畢
   後,所有的值即取出完畢。













其它文章

2011年12月27日 星期二

[JAVA] 集合常用介面List,Set,Map簡介

集合(Collection),又稱為容器(Container),可以用來持有物件。集合與陣列(Array)最大的不同在於陣列具有固定的長度,集合沒有固定的長度。

集合常用介面為:List,Set,Map。這三個介面皆是從JDK1.2版出現。

List介面:具有順序性,可取得指定位置的內容,或是把內容加到指定的位置。常見的實作類別(Implementing Class)有Vector, ArrayList。Vector自JDK1.0出現,從JDK1.2起,Vector類別實作List介面。

Set 介面 :不可加入重複的物件。舉例而言,x.equals(y),當x已經在Set中,則y不能加入。常見的實作類別為HashSet, TreeSet。

Map 介面 : 具有Key與Value,透過Key來取得對應的Value;key不可重複。常見的實作類別為HashTable, HashMap。 HashTable 自JDK1.0出現,從JDK1.2起, HashTable 類別實作Map介面。

這三個介面中,只有List 介面與Set介面繼承自Collection介面。

請參考JAVA官方API Docs:

List介面 
Set介面
Map介面














其它文章

2011年12月24日 星期六

[JAVA]ArrayList與LinkedList的比較

在集合(Collection)中,我們常使用List這個介面(Interface)。要實作List,通常會使用 ArrayList或 LinkedList 這兩個Class。那麼何時使用ArrayList較好,又何時使用LinkedList較好呢?

ArrayList採用的資料結構是Array(陣列);LinkedList採用的資料結構是 LinkedList (翻譯為鏈結串列或連結串列)。
陣列是在大家學習集合前必須要有的基礎知識,因此在這邊先簡單的介紹鏈結串列。鍊節串列的每一個節點包含的資訊有:1. 本身儲存的資料 2. 指到另一個節點所在的位址。
鍊節串列可分為單向鍊節串列,雙向鍊節串列,迴圈鍊節串列等等。
詳情可參閱維基百科: 連結串列。

那麼,何時使用ArrayList,何時使用LinkedList較好呢?

當我們需要頻繁的取得List內的資料時,使用ArrayList的效率較好,因為它的資料結構是array,array採用隨機存取(random access)的方式,也就是直接透過索引(Index),取得值。 而LinkedList要取得值必須從開始的節點一路搜尋到要需要的值的位址,需要花費大量的時間。

當我們需要頻繁的新增資料與刪除資料時,使用LinkedList較好。因為使用LinkedList新增/刪除資料時,只要改動被新增/刪除的那筆資料前面一個節點所指向的位址及可。但若使用ArrayList,要新增或刪除array的資料,新增/刪除結束後,需要重新搬動剛才被新增/刪除之後的所有節點,並且重新給定之後所有節點的索引值,因此效率會較差。

















其它文章

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...