天天看點

C#與Java對比學習:資料類型、集合類、棧與隊列、疊達、可變參數、枚舉資料類型:常用集合類比較:Stack 和 Queue:Java Queue方法名稱和C#不同:疊代文法:可變參數:枚舉,Java的enum還能玩出花樣:C#與Java字元串轉枚舉及枚舉周遊差別:

  c#:string與stringbuilder

java:string與stringbuffer

第一個不習慣是string的第一個字母必須大寫了。

第二個不習慣是int得寫成integer了,雖然可以定義int i=0,但是對于泛型等用法必須arraylist<integer>。

c#  :hashtable         list<t>                                                                dictionary<t,k>  

java:hashtable         list(包括:arraylist<t>,linkedlist<t>)             map<t,k>(包括:hashmap<t,k>,sortedmap<t,k>)

                                   set(包括:hashset<t>,   soredset<t>)

set:不能包含重複的元素;

list:可以包含重複的元素。 

集合的類還是挺多的,比較的我頭差點都大了,最後才找出這種簡單的對應關系。 

c#  :stack<t>  queue<t>

java:stack<t>   queue(包括四個:linkedblockingqueue<t>、arrayblockingqueue<t>、priorityblockingqueue<t>、delayqueue<t>)

stack用法基本一緻,queue用法與名稱基本上差天與地,下面有詳細解答。 

java queue 的相關方法:

add        增加一個元索                     如果隊列已滿,則抛出一個iiiegaislabeepeplian異常

remove   移除并傳回隊列頭部的元素    如果隊列為空,則抛出一個nosuchelementexception異常

element  傳回隊列頭部的元素             如果隊列為空,則抛出一個nosuchelementexception異常

offer       添加一個元素并傳回true       如果隊列已滿,則傳回false

poll         移除并返問隊列頭部的元素    如果隊列為空,則傳回null

peek       傳回隊列頭部的元素             如果隊列為空,則傳回null

put         添加一個元素                      如果隊列滿,則阻塞

take        移除并傳回隊列頭部的元素     如果隊列為空,則阻塞

更詳細的參考文章連結:http://www.cnblogs.com/end/archive/2012/10/25/2738493.html 

c#  :foreach(object o in objlist){}  實作疊代的接口名稱為:ienumerable

java:foreach(object o : objlist){}   實作疊代的接口名稱為: iterable

 c#  :void sum(params int[] list){} 以params 為關鍵字 

 java:void sum(int ...list){} 以“...“三個點為關鍵字

  c#  :隻能enum設定常量數值

  java:除了和c#一樣的設定常量數值,java仍保留了特殊類的基本功能,讓玩家自己玩;而c#而做了特殊限制。

C#與Java對比學習:資料類型、集合類、棧與隊列、疊達、可變參數、枚舉資料類型:常用集合類比較:Stack 和 Queue:Java Queue方法名稱和C#不同:疊代文法:可變參數:枚舉,Java的enum還能玩出花樣:C#與Java字元串轉枚舉及枚舉周遊差別:

c#的轉換代碼:

C#與Java對比學習:資料類型、集合類、棧與隊列、疊達、可變參數、枚舉資料類型:常用集合類比較:Stack 和 Queue:Java Queue方法名稱和C#不同:疊代文法:可變參數:枚舉,Java的enum還能玩出花樣:C#與Java字元串轉枚舉及枚舉周遊差別:

    public class test

    {

        protected void method()

        {

            a a = (a)enum.parse(typeof(a), "b");//枚舉轉換

      foreach (string enumname in enum.getnames(typeof(a)))

            {

//枚舉周遊

            }

        }

        public enum a

            b,

            c

    }

C#與Java對比學習:資料類型、集合類、棧與隊列、疊達、可變參數、枚舉資料類型:常用集合類比較:Stack 和 Queue:Java Queue方法名稱和C#不同:疊代文法:可變參數:枚舉,Java的enum還能玩出花樣:C#與Java字元串轉枚舉及枚舉周遊差別:

java的轉換代碼:

C#與Java對比學習:資料類型、集合類、棧與隊列、疊達、可變參數、枚舉資料類型:常用集合類比較:Stack 和 Queue:Java Queue方法名稱和C#不同:疊代文法:可變參數:枚舉,Java的enum還能玩出花樣:C#與Java字元串轉枚舉及枚舉周遊差別:

   public class test

            a a = a.valueof("b");

      for (a a : a.values())

     }

C#與Java對比學習:資料類型、集合類、棧與隊列、疊達、可變參數、枚舉資料類型:常用集合類比較:Stack 和 Queue:Java Queue方法名稱和C#不同:疊代文法:可變參數:枚舉,Java的enum還能玩出花樣:C#與Java字元串轉枚舉及枚舉周遊差別:

基本上一緻,今天看的内容,基本就這麼多了,是以就寫到這裡了,這麼點内容,光比較整理,花了好幾個小時,真悲催。