您当前的位置: 首页 > 旅游

C与Java对比学习数据类型集合类栈与队

2019-02-25 14:21:01

数据类型:C#:String与StringBuilder

Java:String与StringBuffer

个不习惯是string的个字母必须大写了。

第二个不习惯是int得写成Integer了,虽然可以定义int i=0,但是对于泛型等用法必须ArrayListInteger。

常用集合类比较:C# :HashTable ListT DictionaryT,K

Java:HashTable List(包括:ArrayListT,LinkedListT) MapT,K(包括:HashMapT,K,SortedMapT,K)

Set(包括:HashSetT, SoredSetT)

Set:不能包含重复的元素;

List:可以包含重复的元素。

集合的类还是挺多的,比较的我头差点都大了,才找出这种简单的对应关系。

Stack 和 Queue:C# :StackT QueueT

Java:StackT Queue(包括四个:LinkedBlockingQueueT、ArrayBlockingQueueT、PriorityBlockingQueueT、DelayQueueT)

Stack用法基本一致,Queue用法与名称基本上差天与地,下面有详细解答。

Java Queue方法名称和C#不同:Java Queue 的相关方法:

add增加一个元索如果队列已满,则抛出一个IIIegaISlabEepeplian异常

remove移除并返回队列头部的元素如果队列为空,则抛出一个NoSuchElementException异常

element返回队列头部的元素如果队列为空,则抛出一个NoSuchElementException异常

offer添加一个元素并返回true如果队列已满,则返回false

poll移除并返问队列头部的元素如果队列为空,则返回null

peek返回队列头部的元素如果队列为空,则返回null

put添加一个元素如果队列满,则阻塞

take移除并返回队列头部的元素如果队列为空,则阻塞

更详细的参考文章链接:

迭代语法: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){} 以...三个点为关键字

枚举,Java的enum还能玩出花样:C# :只能enum设置常量数值

Java:除了和C#一样的设置常量数值,Java仍保留了特殊类的基本功能,让玩家自己玩;而C#而做了特殊限制。

C#与Java字符串转枚举及枚举遍历区别:C#的转换代码:

publicclassTest

{

protectedvoidMethod()

{

Aa=(A)rse(typeof(A),b);//枚举转换

foreach (string enumName in tNames(typeof(A)))

{

//枚举遍历

}

}

publicenumA

{

b,

c

}

}

Java的转换代码:

publicclassTest

{

protectedvoidmethod()

{

Aa=lueOf(b);

for (A a : lues())

{

//枚举遍历

}

}

publicenumA

{

b,

c

}

}

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

北宋宰相张齐贤的故事张齐贤的轶事典故有哪
你敢申请我敢免费小鱼易连十方云会议室免费
高烧浑身发热头疼怎么回事
推荐阅读
图文聚焦