您的位置:首页 > 编程语言 > Java开发

java类集

2015-10-26 13:32 417 查看
java中类集Collection接口是单值得最大接口,所谓单值就是指集合中每个元素都是一个对象,一般很少使用此接口直接操作,

List接口是Collection接口的子接口,也是最常用的接口,类似于python中的list;

Set也是Collection接口的子类,类似于python中的set集合,不允许重复,

接口中的每个元素都是一对一的形式,以key-->value的形式,类型于python中的dict;

Quene队列接口,此接口的子类可以实现队列操作,python里面好像没有队列的概念,

SortedSet可以对集合中的数据进行排序

集合中的关系如下图:



List接口使用ArrayList实例化操作:

package test;
import  java.util.List;
import  java.util.ArrayList;
import  java.util.Collection;
import java.util.Vector;

public class ArrayListDemo1 {
public  static  void main(String args[]){
List<String>   allList=null;
Collection<String> allCollection=null;
allList=new ArrayList<String>();
allCollection=new  ArrayList<String>();
allList.add("hello");
allList.add(0,"world");
System.out.println("allLIst的值是:"+allList);

allCollection.add("zhoumeixu");
allCollection.add("www.baidu.com");
allList.addAll(allCollection);
allList.addAll(0,allCollection);
System.out.println("allLIst的值是:"+allList);
allList.remove(0);
System.out.println("allLIst的值是:"+allList);
allList.remove("www.baidu.com");
System.out.println("allLIst的值是:"+allList);
for(int i=0;i<allList.size();i++){
System.out.println("allList中的元素是:"+allList.get(i));
}
for(int i=allList.size()-1;i>=0;i--){
System.out.println("allList中的元素是:"+allList.get(i));
}

//把allList变为对象数组的方法
Object obj[]=allList.toArray();
for(int i=0;i<obj.length;i++){
String temp=(String) obj[i];
System.out.print("变换数组后的值是:"+temp+"\t");
System.out.print("\n");
}
//判断是否为包含某个元素
System.out.println("allList是否包含周美旭"+"-->"+(allList.contains("zhoumeixu")?"是":"否"));

//Vector类与ArrayList在操作结果上并没有太大的区别,但是Vector类推出时间比较早,属于旧的操作类,性能较低
//输出可以使用iterator、foreach、Enumeration输出,而ArrayList只能用iterator、foreach输出
Vector<String> allList_vector=new Vector<String>();
allList_vector.add("hello");
allList_vector.add(0,"world");
System.out.println("vector的值是"+allList_vector);
}

}
LinkedList类操作如下:

package test;
import  java.util.LinkedList;
public class LinkedList_demo {
public  static void main(String args[]){
LinkedList<String>   demo=new LinkedList<String>();
demo.add("A");
demo.add("B");
demo.add("C");
System.out.println("初始化链表:"+demo);
demo.addFirst("X");
demo.addLast("y");
System.out.println("增加表头和表尾的链表是:"+demo);
System.out.println("表头的元素是:"+demo.element());
//此类中有poll方法,其意义是找到表头并山川表头
for(int i=0;i<demo.size();i++){
System.out.println("demo中的元素是:"+demo.poll());
}
}

}


Set类就是允许不重复的,其中通过TreeSet和HashSet来子类实现,具体代码如下:

package test;

import java.util.Set;
import java.util.HashSet;
import java.util.TreeSet;

public class Set_demo {
public static void main(String args[]){
Set<String>  allSet=new HashSet<String>();
allSet.add("A");
allSet.add("B");
allSet.add("C");
allSet.add("D");
allSet.add("E");
allSet.add("A");
allSet.add("B");
allSet.add("C");
System.out.println(allSet);
//有序的存放,treeSet
Set<String>  allSet1=new TreeSet<String>();
allSet1.add("A");
allSet1.add("B");
allSet1.add("C");
allSet1.add("D");
allSet1.add("E");
allSet1.add("A");
allSet1.add("B");
allSet1.add("C");
System.out.println(allSet1);
}
}
java集合输出有三种方式,分别是:

Iterator:迭代输出,是使用最多的输出方式

ListIterator:是iterator的子接口,是专门用于输出的List中的内容

Enumeration:是一个旧的接口,功能与Iterator类似

Foreach:JDk 1.5之后提供的新功能,可以输出数组或集合

具体用法如下:

package test;

/*Iterator:迭代输出,是使用最多的输出方式
ListIterator:是iterator的子接口,是专门用于输出的List中的内容
Enumeration:是一个旧的接口,功能与Iterator类似
Foreach:JDk 1.5之后提供的新功能,可以输出数组或集合*/
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
import java.util.Enumeration;

public class ListIoDemo {
public static void main(String args[]) {
List<String> all = new ArrayList<String>();
all.add("hello");
all.add("_");
all.add("world");
all.add("www.baid.com");
Iterator<String> iter = all.iterator();
System.out.println("Iterator的输出方式如下:");
while (iter.hasNext()) {
String str = iter.next();
if ("_".equals(str)) {
iter.remove();

} else {

System.out.print(str + "、");
}
}
ListIterator<String> all_List=all.listIterator();
System.out.println("\nListiterator的输出方式:");
while(all_List.hasNext()){
System.out.print(all_List.next()+"、");
}
System.out.println("\n由后向前输出:");
while(all_List.hasPrevious()){
System.out.print(all_List.previous()+"/");

}

System.out.println("\nforeach的输出方式:");
for(String s:all){
System.out.print(s+".......");
}

System.out.println("\nEnumeration接口输出");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: