【Java学习笔记】基础知识学习11【集合和列表类】

来源:互联网 发布:qq飞车s车数据对比 编辑:程序博客网 时间:2024/05/18 01:40

集合,这个类在VB中也有见过,就是可以把一些对象添加到集合中。然后删除或者清空什么的。


看一个例子,进行集合的建立和遍历显示:

package sunsoft.testideas;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class Ex_Collection {static void TryCollection(){Collection<String> jCollection=new ArrayList<String>();jCollection.add("apple");jCollection.add("mj");jCollection.add("we are the world");Iterator<String> nIt=jCollection.iterator();for (;nIt.hasNext();) {String ktemp=(String)nIt.next();T.O(ktemp);}}}

这里,Collection<String> jCollection=new ArrayList<String>(); 表示创建一个字符串类型的集合

这里,Collection是接口,ArrayList是具体的实现类。


集合除了创建后的add方法外,还有一个很有用的方法addAll。这个方法可以将另一个集合中的所有数据加入到自己的集合中。

例如:

package sunsoft.testideas;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class Ex_Collection {static void TryCollection(){Collection<String> jCollection=new ArrayList<String>();Collection<String> myStudent=new ArrayList<String>();jCollection.add("apple");jCollection.add("mj");jCollection.add("we are the world");myStudent.addAll(jCollection);myStudent.add("我爱女孩!");Iterator<String> nIt=myStudent.iterator();for (;nIt.hasNext();) {String ktemp=(String)nIt.next();Easy.ShowL(ktemp);}}}

在这里面的代码中,你可以看到一个东西,是Iterator,这个叫做迭代器。这个东西用来把集合中的项目遍历出来。


另外一个Collection对象的方法是:removeAll(Collection del);

例如:

k.removeAll(orig);  //这个的功能是,将k集合中,与orig集合内容相同的项全部删除。

例如:k中有“编程”,“赛车”,“摄影”,“脱衣舞”,“美元”,“性爱”

orig中有“赛车”,“脱衣舞”

则,在执行完:k.removeAll(orig); 后

k中,仅仅剩下“编程”,“摄影”,“性爱”


还有一个常用的方法,是isEmpty().它会返回一个逻辑型变量。

返回的true表示集合不为空,返回的false,表示集合为空。


几个常见的集合类:

List是接口

ArrayList是List接口的一个实现

采用的数组结构保存对象。这种数组结构的优点是可以快速的随机访问,但是插入和删除指定索引位置的元素的速度会较慢。

ArrayList的使用,前面有所介绍,可以参见前面的内容。


下面,由于ArrayList的插入和删除不高效,这里介绍LinkedList。这个类是用链表实现的List。根据数据结构与算法的知识,链表中插入元素和删除元素很方便,高速。毕竟只是改指针。但是,由于这个是非线性的,所以链表随机访问对象的速度很慢。

它有一些方法:

addFirst:将指定东西加入到链表开头

addLast:将制定东西加入到链表结尾

getFirst:获取链表开头的元素

getLast:获取链表结尾的元素

removeFirst:删除链表开头的元素

removeLast:删除链表结尾的元素

一个小例子:

static void LinkedListTry(){LinkedList<String> nLst=new LinkedList<>();nLst.add("there comes a time");nLst.add("when we heed a certain call");nLst.add("when the world must lend a helping hand");System.out.println("第一个元素:"+nLst.getFirst());System.out.println("最后一个元素:"+nLst.getLast());System.out.println("下面删除第一个");nLst.removeFirst();System.out.println("现在第一个元素:"+nLst.getFirst());System.out.println("下面删除最后一个");nLst.removeLast();System.out.println("现在最后一个元素:"+nLst.getLast());}

其实,LinkedList还有peek,clone,clear,pop,poll等方法,作用都可以大家自己探索。

原创粉丝点击