java stack 数据类型_C#与Java对比学习:数据类型、集合类

数据类型:

C#:String与StringBuilder

Java:String与StringBuffer

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

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

常用集合类比较:

C#  :HashTable         List                                                                Dictionary

Java:HashTable         List(包括:ArrayList,LinkedList)             Map(包括:HashMap,SortedMap)

Set(包括:HashSet,   SoredSet)

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

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

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

Stack 和 Queue:

C#  :Stack  Queue

Java:Stack   Queue(包括四个:LinkedBlockingQueue、ArrayBlockingQueue、PriorityBlockingQueue、DelayQueue)

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

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

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){} 以“...“三个点为关键字

枚举,Java的enum还能玩出花样:

C#  :只能enum设置常量数值

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

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

C#的转换代码:

AAffA0nNPuCLAAAAAElFTkSuQmCC    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

}

}

AAffA0nNPuCLAAAAAElFTkSuQmCC

Java的转换代码:

AAffA0nNPuCLAAAAAElFTkSuQmCC 

public class Test

{

protected void method()

{

A a = A.valueOf("b");

for (A a : A.values())            {//枚举遍历            }        }

public enum A

{

b,

c

}

     }AAffA0nNPuCLAAAAAElFTkSuQmCC

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值