欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java类集,

来源: javaer 分享于  点击 24096 次 点评:70

java类集,


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接口输出");

		}
	

	}





相关文章

    暂无相关文章
相关栏目:

用户点评