栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C#与Java对比学习:数据类型、集合类

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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#而做了特殊限制。

 

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

C#的转换代码:

    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
        }
    }

 

Java的转换代码:

 
   public class Test
    {
        protected void method()
        {
            A a = A.valueOf("b");
      for (A a : A.values())            { //枚举遍历            }        }

        public enum A
        {
            b,
            c
        }
     }

 

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

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/233345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号