博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java之集合类详解
阅读量:5265 次
发布时间:2019-06-14

本文共 3349 字,大约阅读时间需要 11 分钟。

java集合类图

  

上述所有集合类都实现了Iterator,这是一个用于便利集合中元素的接口,主要包含hashNaxt()Next()Remove()三种方法

 

常见的集合有:

MapConllection是所有集合框架的父接口

Collection接口下的子接口包含:set接口和list接口

Map接口下的实现类有:HashMapTreeMapHashtable

Set接口下的实现类:HashSetTreeSetLinkedHashSet

List接口下的实现类:ArrayLIstLinkedListStackVector

 

HashMapHashtable的区别

HashMap是没有考虑同步的,是线程不安全的,Hashtable使用了syncharonized关键字,是线程安全的

前者允许null作为key,后者不予许null作为key

 

详解

hashSetSet的一个子接口,主要特点是:里面不能存放重复元素,而且采用散列的储存方法所有没有顺序,这里的顺序是指:输入和插入的元素顺序不一致

 

代码实例:HashSet:

import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class HsahSetDemo {        public static void main(String[] args){        Set
set = new HashSet
(); set.add("a"); set.add("b"); set.add("c"); set.add("b"); set.add("e"); set.add("c"); //使用Itertor遍历集合 Iterator
iter = set.iterator(); while (iter.hasNext()) { System.out.print(iter.next() + " "); } System.out.println(); //使用For Each输出集合 for (String e: set) { System.out.print(e + " "); } System.out.println(); //使用toString输出集合 System.out.println(set); }}

代码实例:setTest:

package www.demo.BubbleSort;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import java.util.HashSet;import java.util.Iterator;import java.util.Scanner;import java.util.Set;public class setTest {        public static void main(String[] args) throws FileNotFoundException{                Set
works = new HashSet
(); //通过输入流打开文献 //方法一:这个方法不需要抛出异常 InputStream inputStream = setTest.class.getResourceAsStream("Alice.txt"); //需要抛出异常 InputStream inStream = new FileInputStream("F:\\workspace\\Alice.txt"); Scanner in = new Scanner(inStream); while (in.hasNext()) { works.add(""); } Iterator
iter = works.iterator(); for (int i = 0; i < 5; i++) { if(iter.hasNext()){ System.out.println(iter.next()); } System.out.println(works.size()); } }}

ArrayList

ArrayListlist的一个子类,他和hashSet相反,允许元素重复,所以元素都是有序的,元素被访问的顺序取决于集合的类型,如果对ArrayList访问,迭代器将从索引0开始,每迭代一次,索引值加1

 

代码实例:ArrayListDemo:

package www.demo.arraylist;import java.util.ArrayList;import java.util.Iterator;import java.util.List;/** * 允许重复 * @author Administrator */public class ArrayListDemo {    public static void main(String[] args) {        List
arrayList = new ArrayList
(); arrayList.add("a"); arrayList.add("a"); arrayList.add("bb"); arrayList.add("bb"); arrayList.add("c"); arrayList.add("c"); arrayList.add("r"); // 使用iterator输出 Iterator
iter = arrayList.iterator(); while (iter.hasNext()) { System.out.print(iter.next() + " "); } System.out.println(); // 使用for each输出 for (String ite : arrayList) { System.out.print(ite + " "); } System.out.println(); // 使用toString输出 System.out.println(arrayList); }}

 

以上代码均已测试

转载于:https://www.cnblogs.com/Momery/p/java.html

你可能感兴趣的文章
mysql max_allowed_packet查询和修改
查看>>
[NOI1999] 棋盘分割
查看>>
10.25作业
查看>>
Sphinx配置文件分析
查看>>
INFINITY的一个坑
查看>>
fabric文件上传打包与校验
查看>>
Nginx数据结构之红黑树ngx_rbtree_t
查看>>
WWDC 2010学习笔记和目录
查看>>
IDEA 安装scala插件
查看>>
Redis集群配置
查看>>
教你如何在Protel中显示标题栏内容
查看>>
设计模式 策略模式 以角色游戏为背景
查看>>
面试题目——《CC150》高等难题
查看>>
Java-io流入门到精通详细总结
查看>>
数字逗号标记—以前原创(一)
查看>>
Struts1基于Json数据格式的ExtJs单选树(Struts1+Spring+Hibernate)
查看>>
[HNOI2019]白兔之舞(MTT+单位根反演)
查看>>
面向对象基础-集合
查看>>
Eclipse使用EclEmma看单元测试的代码覆盖率
查看>>
Neither user 10316 nor current process has android.permission.READ_PHONE_STATE
查看>>