您的位置:首页 > 编程语言 > Java开发

C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举

2016-11-23 12:16 507 查看
数据类型:
  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:可以包含重复的元素。 
 
集合的类还是挺多的,比较的我头差点都大了,最后才找出这种简单的对应关系。 

Stack 和 Queue:

C#  :Stack<T>  Queue<T>

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

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

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

Java Queue 的相关方法:
add        增加一个元索                     如果队列已满,则抛出一个IIIegaISlabEepeplian异常
remove   移除并返回队列头部的元素    如果队列为空,则抛出一个NoSuchElementException异常
element  返回队列头部的元素             如果队列为空,则抛出一个NoSuchElementException异常
offer       添加一个元素并返回true       如果队列已满,则返回false
poll         移除并返问队列头部的元素    如果队列为空,则返回null
peek       返回队列头部的元素             如果队列为空,则返回null
put         添加一个元素                      如果队列满,则阻塞
take        移除并返回队列头部的元素    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐