老尸 发表于 2015-1-18 11:18:22

了解下JAVA的容器的排序

学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解
从材料库的概念来看,Set、Map、Bag是无序的,而List是有序的,这边所谓的无序或有序,是指将容器中物件贮存至材料库时,是不是依容器物件中的按次来贮存。
但是从材料库获得材料之後,您大概会但愿Set、Map等容器中的物件能够依必定的按次来分列,您能够从两个条理来容器中的物件排序,一是在载进材料後於JVM中排序,另外一是在材料库中间接利用orderby子句来排序。
以Set这篇文章中的典范来作申明,要在JVM中就材料举行排序,您能够在映照文件中利用sort属性来界说容器的排序,这合用於Set与Map,比方:
User.hbm.xml
<?xmlversion="1.0"encoding="utf-8"?>
<!DOCTYPEhibernate-mapping
  PUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

  <classname="onlyfun.caterpillar.User"table="user">
    ....
    <setname="emails"table="email"sort="natural">
      <keycolumn="id"/>
      <elementtype="java.lang.String"
          column="address"/>
    </set>
  </class>

</hibernate-mapping>
sort="natural"暗示利用物件的comparaTo()办法来举行排序,容器中的物件上必需有实作java.lang.Comparable介面,比方String就有实作java.lang.Comparable介面,了局会利用字典按次来分列容器中的物件。
您能够完成本人的排序体例,只需界说一个种别来实作java.util.Comparator介面,比方:
CustomComparator.java
packageonlyfun.caterpillar;

importjava.util.Comparator;

publicclassCustomComparatorimplementsComparator{
  publicintcompare(Objecto1,Objecto2){
    if(((String)o1).equals(o2))
      return0;
    return((Comparable)o1).compareTo(o2)*-1;
  }
}
<p>
net网页编程程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net网页编程比。java程序员都是代码完成的,所以java程序员常戏称.net网页编程程序员是操作员,呵呵。

谁可相欹 发表于 2015-1-20 19:54:28

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

小妖女 发表于 2015-1-31 13:01:03

Java 编程语言的风格十分接近C、C++语言。

兰色精灵 发表于 2015-2-6 19:29:14

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

飘飘悠悠 发表于 2015-2-7 08:29:40

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

第二个灵魂 发表于 2015-2-8 10:42:30

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

分手快乐 发表于 2015-2-14 05:22:04

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

灵魂腐蚀 发表于 2015-2-25 00:21:59

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

精灵巫婆 发表于 2015-3-7 14:49:31

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

再现理想 发表于 2015-3-11 08:52:11

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

变相怪杰 发表于 2015-3-18 00:58:19

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

冷月葬花魂 发表于 2015-3-25 08:39:49

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
页: [1]
查看完整版本: 了解下JAVA的容器的排序