|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
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[0]);
}
}
总结:
实践上我们最经常使用的仍是ArrayList,Vector由于是同步办法,只要在多线程,和全局的数据时,我才思索用。
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak, |
|