一个很简单的东西,用c#...
List<string> keywords = ...;
var result = keywords
.GroupBy(k => k[0])
.ToDictionary(
g => g.Key,
g => g.OrderBy(k => k).ToList());
如果用 java...
List<String> keywords = ...;
keywords
.groupBy(
new F<String, Character> {
public Character f(String s) { return s.charAt(0); }
})
.toMap(
new F<Grouping<Character, String>, Character> {
public Character f(Grouping<Char, String> g) {
return g.getKey();
}
},
new F<Grouping<Character, String>, List<String>> {
public List<String> f(Grouping<Character, String> g) {
return g
.orderBy(
new F<String, String> {
public String f(String s) { return s; }
})
.toList();
}
});
彻底杯具了,唉,本来多么简单的问题,搞的这么复杂。
看看 Listener侦听的N种写法 http://blog.csdn.net/sunboy_2050/article/details/7489274
这些写法都很糟糕,都比不过委托,明明一个单纯的函数即可解决问题,非得搞一个类,弄得蛋疼无比。
还要另外的选择是scala,不过,我觉得太复杂的,表示压力很大。
用python也不错,但是,代码自动完成,自动重构,无语了。
我对java不算很熟,不知道那些java大师怎么想,他们到底是怎么过来的啊。
我的猜测:
1. 大多数时候写极其白痴简单的代码,压根用不了那么多特性,此时要的是语法白痴,代码长点无所谓
2. 写多了也就习惯了,也就不难看了,反正java是最完美的语言。
3. 没办法,为了向下兼容,只好不加入委托了。
4. 哥也不想用java啊,但为了混饭吃。
无论如何,我实在受不了这么冗长的代码。
就到这里,以后啥不爽,继续吐槽。。。
ps:我还是学生,学编程纯属爱好。
代码抄自"java黑": http://blog.zhaojie.me/2010/04/why-java-sucks-and-csharp-rocks-2-primitive-types-and-object-orientation.html
分享到:
相关推荐
包含连续或多个重复字符(如abc,123,111,bbb)、键盘连续字符(如qwe,!@#,qaz)、关键字的验证(如admin,root,user),不用引jar文件,导入项目直接可用
java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...
汇丰软件Java面试题是非常具有挑战性的,需要考生具备扎实的Java基础知识、良好的编程能力和英语口语能力,并且需要具备良好的逻辑思维能力和问题解决能力。考生需要认真准备,熟悉面试题目,提高自己的编程能力和...
1. 面试的重要性:面试是 Java 程序员获取工作机会的关键一步骤,需要认真准备和充分展示自己的技术和语言表达能力。 2. 面试官的心理战略:面试官的心理战略是研究主考官的招聘心理,并根据不同的面试官类型采取...
总结来说,Java集成WebKit浏览器是一项通过SWT和第三方库实现的技术,它使得Java应用能够具备强大的网页渲染能力,同时需要注意系统架构的匹配以及与JavaScript的交互。通过示例程序和提供的文档,开发者可以学习并...
《疯狂Java实战演义》是一本深度探讨Java编程技术的书籍,它包含了丰富的实践项目和课后习题,旨在帮助读者提升Java编程能力并深入理解Java核心技术。书中的源码是作者精心设计和编写的,提供了详尽的示例,以便读者...
JAVA API官方文档中文版软件包 java.applet java.awt java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image ...
Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...
【Java实现课程表】是一个基于Java编程语言设计的特定于某个学校的教务系统课程表程序。...通过分析和修改这个项目,开发者可以提升自己的Java编程能力,并理解如何将编程技术应用于实际问题的解决。
这种跨平台能力得益于Java的平台无关性,Java虚拟机成为连接不同系统平台的关键桥梁。 微软Java虚拟机(msjavax86)是微软公司开发的一款JVM实现,专为Windows平台设计。与Sun Microsystems(现在被Oracle收购)的...
在自考Java的过程中,除了理解和掌握以上知识点,还需要大量实践以提高编程能力。通过编写小程序、参与项目开发,可以更好地消化理论知识,提高解决问题的能力。同时,不断关注Java的新特性和最佳实践,能够让你在这...
Java提供了强大的I/O处理能力。 - **文件操作**:读取、写入、删除等操作。 - **跨平台性**:Java的文件操作不受操作系统限制。 - **序列化接口**:用于将对象转换为字节流以便持久化。 - **I/O流基础**:如...
第一章 Java语言的产生及其特点 第二章 Java程序开发与运行环境 第三章 Java程序设计基础 第四章 Java应用程序的基本框架 第五章 Java的类 第六章 Java图形用户接口 第七章 多线程 第八章 Java的"异常" 第九...
同时,实习也是检验和强化大学期间所学专业知识的有效方式,锻炼实际操作能力和团队协作精神,为毕业后顺利进入工作环境打下坚实基础。\n\n2. 实习时间与地点:\n实习期为2010年3月15日至2010年6月6日,地点在武汉...
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的...
Java到JavaScript转换工具有助于开发者将已有的Java代码库移植到JavaScript环境中,这在Web开发中尤其有用,因为JavaScript是浏览器端的主要脚本语言。这样的工具能够帮助开发者利用Java的强大功能来构建前端应用,...
Java 17是Java开发工具集(Java Development Kit)的一个主要版本,对于Windows操作系统提供了全面的支持。这个安装包是专为在Windows x64平台上运行和开发Java应用程序设计的。让我们深入了解一下Java 17以及如何在...