小魔女 发表于 2015-1-18 11:12:02

发布一篇JAVA进步教程(6)-熟悉List列表

Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发
列表是很经常使用的数据布局,感到比Map和Set用的频次要高一些吧,由于我常常用其返回数据库的操纵了局集
packagecollection.lession6;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.LinkedList;
importjava.util.List;
importjava.util.ListIterator;
importjava.util.Stack;
importjava.util.Vector;

/**
*老紫竹JAVA进步教程(6)-熟悉List列表<br>
*List能够准确把持在汇合内里的前后按次。<br>
*能够间接经由过程数据的地位会见数据。<br>
*一样平常同意反复数据<br>
*一样平常同意null,且同意多个null
* 
*@author老紫竹JAVA世纪网(java2000.net)
* 
*/
publicclassLession6{

 publicstaticvoidmain(String[]args){
  //上面是List内里经常使用的完成类

  //巨细可变列表的完成,同意任何数据到场
  ArrayListarrayList=newArrayList();

  //一样是巨细可变列表的完成.
  //与ArrayList的最年夜区分就是这个类的办法是同步(synchronized)的
  //具体的区分,请参考
  //看源代码了解ArrayList和Vector的真正区分
  //http://www.java2000.net/p9750
  Vectorvector=newVector();

  //完成了双向行列的把持,包含头尾的操纵
  //可用于仓库和FIFO操纵等
  LinkedListlinkedList=newLinkedList();

  //集成自Vector
  //供应了LIFO的仓库操纵体例
  Stackstack=newStack();

  //-----------------
  //上面以ArrayList作为例子,看看列表的各个办法
  Listlist=newArrayList();
  //构建第二个列表
  Listlist2=newArrayList();

  //向列表的尾部增加指定的数据
  list.add(123);

  //在列表的指定地位拔出指定命据
  //我们在最后面拔出数据
  //列表的地位索引从0入手下手
  list.add(0,456);

  //将list2内里的数据,全体放到list1的尾部往
  //注重此处能够是任何汇合类,不限于列表
  list.addAll(list2);

  //将list2内里的数据,全体放到list1指定地位的前面
  //即是拔出一段数据
  list.addAll(2,list2);

  //清空列表,删除内里一切的数据
  list.clear();

  //判别列内外是不是包括某个数据
  booleanfound=list.contains(123);

  //判别列表是不是包括了另外一个汇合的一切数据
  //注重此处能够是任何汇合类,不限于列表
  booleanok=list.containsAll(list2);

  //取得指定地位的数据
  //假如地位凌驾了列表的局限0到list.size()-1
  //则抛出非常:IndexOutOfBoundsException
  Objectobj=list.get(3);

  //失掉数据在列表中的地位
  //假如没找到,前往-1
  //地位索引从0入手下手
  intindex=list.indexOf(456);

  //判别列表是否是空的
  booleanempty=list.isEmpty();

  //列表的迭代器操纵
  //按次严厉依照列表的保留的按次
  Iteratorit=list.iterator();

  //失掉数据在列表最初一次呈现的地位
  //合适于有反复数据的列表
  index=list.lastIndexOf(456);

  //列表的另外一个迭代器
  ListIteratorlistIT=list.listIterator();

  //列表的另外一个迭代器,能够指定肇端地位
  ListIteratorlistIT2=list.listIterator(3);

  //删除某个地位的数据
  list.remove(3);

  //删除指定对象的第一个呈现的地位
  //注重,假如是整数,要辨别其与remove(int)的区分
  //倡议用remove(newInteger(123));来删除数据对象
  list.remove(newInteger(123));

  //删除列内外在另外一个汇合里存在的数据
  list.removeAll(list2);

  //只保存在另外一个汇合里存在的数据,即是交集
  list.retainAll(list2);

  //交换指定地位的数据
  list.set(3,999);

  //列表数据的数目
  intsize=list.size();

  //失掉一个子数组
  ListsubList=list.subList(2,10);

  //将汇合转化为数组
  Object[]objs=list.toArray();

  //将汇合转化为指定格局的数组
  //好比汇合里保留的都是String
  String[]objs2=(String[])list.toArray(newString);
 }
}
总结:
实践上我们最经常使用的仍是ArrayList,Vector由于是同步办法,只要在多线程,和全局的数据时,我才思索用。

由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,

再现理想 发表于 2015-1-20 17:01:36

是一种语言,用以产生「小应用程序(Applet(s))

仓酷云 发表于 2015-1-29 13:13:31

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

小女巫 发表于 2015-2-6 01:18:47

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

admin 发表于 2015-2-6 03:05:11

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

小妖女 发表于 2015-2-15 06:52:59

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

愤怒的大鸟 发表于 2015-3-4 11:22:37

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

爱飞 发表于 2015-3-11 18:44:36

Java是一种计算机编程语言,拥有跨平台、面向对java

莫相离 发表于 2015-3-19 07:39:16

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

飘灵儿 发表于 2015-3-27 13:08:42

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
页: [1]
查看完整版本: 发布一篇JAVA进步教程(6)-熟悉List列表