天天看点

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字符串转枚举及枚举遍历区别:

基本上一致,今天看的内容,基本就这么多了,所以就写到这里了,这么点内容,光比较整理,花了好几个小时,真悲催。