java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起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接口输出");

		}
	

	}

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。