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实例化操作:
Set类就是允许不重复的,其中通过TreeSet和HashSet来子类实现,具体代码如下:
Iterator:迭代输出,是使用最多的输出方式
ListIterator:是iterator的子接口,是专门用于输出的List中的内容
Enumeration:是一个旧的接口,功能与Iterator类似
Foreach:JDk 1.5之后提供的新功能,可以输出数组或集合
具体用法如下:
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接口输出"); } }
相关文章推荐
- Java NIO中的Selector和IO复用
- JavaWeb的各种中文乱码终极解决方法
- 【Java基础】Java内部类
- 用Java访问带有Kerberos认证的HBase
- Java对象实例化的过程。
- java对象转化成String类型
- eclipse在线安装SVN
- struts2 之配置拦截器使网站页面在session失效后退回到登录页面
- Java核心技术第12章(4)
- JAVA抽象类与接口的比较
- Spring MVC: <context:annotation-config> 和 <context:component-scan>区别
- Eclipse没有marketplace选项
- Java 299之输出二维数组中的最大值
- 5.33Java 三星题 current date and time
- java -Xms -Xmx设置java应用程序运行的内存大小,Xms Xmx PermSize MaxPermSize 区别
- SpringMVC(1)框架原理
- java复习:集合框架
- OC的方法调用-和Java对比
- CAS的配置,登录界面的更改以及数据库的连接--Java(Eclipse,非Maven)
- Spring自定义标签的原理