java实现类集的包: java.util.*包
类集:动态对象数组(可以保存多个对象在一个数组之中)或链表
问题:数组长度不可改变,当需要向数组中增加数据的时候需要去考虑对象数组的容量
java类集接口框架
Collection 元素的类集,即对象,每次存放单个对象
子接口: List ( ArrayList LinkedList )
子接口: Set ( HashSet TreeSet )
SortedSet
Map 每次存放一对值:key——> value
SortedMap
Iterator 输出接口,只要是集合都要去是要使用Iterator输出
ListIterator
详解:
Collection 接口:在一般开发中为了清楚的表现处理数据的存放,往往不直接使用Collection
Collection 的子接口List:( ArrayList / LinkedList )
# ArrayList List 使用必须依靠子类——>ArrayList (继承了AbstractList类)
如果使用List,则格式为:List list=new ArrayList();
向对象数组中加入数据 list.add("对象");
向对象数组中移除数据 list.remove("对象");
直接打印System.out.println(all); 结果:[对象1,对象2,对象3]
对象数据输出顺序与加入顺序一致
使用类集的时候在加入对象的时候最好只加入同一类对象
只能让集合中只加入一种对象:JDK1.5支持
List<java.lang.String> list = new ArrayList<java.lang.String>();
需要一个一个对象打印出来的时候,方法有:
1,使用for循环: size()方法求出对象数组的长度
2,使用Iterator输出:因为集合的长度不固定,所以Iterator采用的方法是一个一个判断输出
( 判断是否有下一个元素:public boolean hasNext() )
Iterator iter=list.iterator();
While(iter.hasNext()){
Object obj=iter.next();
System.out.println(obj);
}
(Collection)集合操作的主要方法:
加入数据:public boolean add(Object obj)
删除数据:public boolean remove(Object obj)
public boolean remove(int index)
为Iterator实例化:public Iterator iterator()
取出元素的个数:public int size()
#LinkedList 提供了一个链接列表数据结构
Collection 的 子接口Set:( HashSet / TreeSet)
异同
1,Set的基本使用与List一致,但是HashSet子类存放时是无序的(散列存放)。
Set<java.lang.String> set=new HashSet<java.lang.String>();
2,List中的数据允许重复元素,重复元素保留下来。
Set中的数据不允许有重复元素,重复元素被替换掉。
#HashSet 无序存放(散列存放)
#TreeSet 有序存放 (升序存放)
靠Comparable接口排序(如,输入为GBEACFD,输出为ABCDEFG)
Iterator :从前到后顺序输出(不能从后向前)
ListIterator:允许双向遍历列表,并可修改单元
Map接口中 ( HashMap / TreeMap )
#HashMap 映射类 key——>value 异步处理方式
Map的主要功能是作为查找使用,不是输出使用。
存入数据方法:put(Object key,Object value)
取出数据方法:Object get(Object key) // 根据key取value
Map<java.lang.String,java.lang.String> map=new HashMap<java.lang.String,java.lang.String>();
map.put("键","数据值");
System.out.println(map.get("键"));
Map接口的对象不能直接使用Iterator输出。
如果一定要使用Iterator输出Map接口对象的内容,必须使用以下步骤:
Map -> Set -> Iterator -> Map.Entry -> key、values
Set set=map.entrySet();
Iterator iter=set.iterator();
while(iter.hasNext()){
Map.Entry me=(Map.Entry)iter.next();
System.out.println(me.getKey()+"——>"+me.getValue());
}
#TreeMap 按key排序
以上均为JAVA 2 所带新特性!!
以下介绍JAVA 1:
#Enumeration:枚举,与Iterator的功能一直,都是用于输出集合中的内容
Enumeration Iterator
判断是否有下一个内容 hasMoreElements() hasNext()
取值 nextElement() next()
List和Set都不能使用Enumeration输出
而List的另外一个子类:Vector 可以使用Enumeration 输出
#Vector 实现动态数组,同步处理
Vector vector=new Vector(); //如果换为List vector=new Vector();则Enumeration无法使用
vector.add("elements");
vector.add("elements");
vector.add("elements");
Enumeration e=vector.elements();
while(e.hasMoreElements()){
System.out.println(e.nextElement())
}
栈是一个先进后出(后进先出)的操作
#Stack (Vector的子类)
Stack stack=new Stack();
stack.push("a");
stack.push("b");
stack.push("c");
stack.push("d");
while(!stack.empty()){
System.out.println(stack.pop());
}
//浏览器的页面的前进后退就是利用堆栈实现
//若栈中所有内容弹出
#HashTable 与HashMap相似,但HashTable是同步处理方式的
不支持迭代函数
#Properties HashTable的子类
属性类 ,用来保持值的列表
异同:Properties类主要是保存字符串的,而Hashtable是保存对象的
setProperty(String key,String value)
getProperty(String key)
相关推荐
// java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...
Collection、Map、List、Set、Iterator
2. 两个实现类HashSet(LinkHashSet)和TreeSet,TreeSet有排序功能(Set set=new TreeSet();set.add(new Integer(8)); set.add(new Integer(4)); set.add(new Integer(7));)输出后的结果是:4 7 8 Eg: package test...
List接口、ArrayList类、Vector类、栈操作类Stack、链表操作类LinkList、队列操作接口Queue、Set接口、HashSet类、TreeSet类、SortedSet接口 双值操作接口Map(key->value)及其子接口、子类: SortedMap接口、HashMap...
java 集合类的详细介绍 set map list 以及iterator entry 的介绍
Map a = new HashMap(); //方法一 Iterator it = a.entrySet().iterator(); while (it.hasNext()) { Map.Entry pairs = (Map.Entry) it.next(); System.out.println(pairs.getValue()); } //以下方法需要jdk5以上...
List接口,Set接口,Map接口,Iterator接口,Comparator
Java 中的 Set、List、Map 的区别 Java 中的集合可以存储和操作数目不固定的一组数据。所有的 Java 集合都位于 java.util 包中!Java 集合只能存放引用类型的数据,不能存放基本数据类型。 Collection 接口是最...
Java 集合框架的主要组件包括 Collection、List、Set、Map 等。 1.1 容器简介 容器是指可以存储对象的对象。 Java 集合框架中有多种类型的容器,每种容器都有其特点和用途。常见的容器有 Collection、List、Set、...
Map接口定义了四种类型的方法,每个Map都包含这些方法。 equals(Object o)比较指定对象与此Map的等价性。 hashCode()返回此Map的哈希码。 Map定义了几个用于插放和删除元素的变换方法。 remove(Object key) 从Map中...
Set:元素不可以重复,是无序。p508 Set接口中的方法和Collection一致。 |--HashSet: 内部数据结构是哈希表 ,是不同步的。 如何保证该集合的元素唯一性呢? 是通过对象的hashCode和equals方法来完成对象唯一性的...
vector容器与iterator迭代器,有两者的区别和联系,供大家学习理解
set标签、push标签、if/elseif/else标签、iterator标签、sort标签
Vector类非常类似ArrayList,但是Vector是同步的。由Vector创建的Iterator,虽然和ArrayList创建的Iterator是同一接口,但是,因为Vector是同步的,当一个Iterator被创建而且正在被使用,另一个线程改变了Vector的...
Java 中的 Collection Framework 包括了多种集合类,例如 List、Set、Map 等。List 中包括 ArrayList、LinkedList、Vector 等,Set 中包括 HashSet、LinkedHashSet 等,Map 中包括 HashMap、Hashtable 等。 List、...
这些集合类型主要有三种形式:Set(集)、List(列表)、Map(映射)。每种类型的集合都包括三部分:接口、实现和算法。 集合类型的分类 * Set(集):代表一个无序并且不允许元素重复存在的集合。Set 接口的实现...
3.1 如何遍历一个List/Set(foreach、Iterator、Lambda表达式) 11 3.2 如何遍历一个Map(foreach、Iterator、Lambda表达式) 11 3.3 如何实现一个Set<Student> set = new TreeSet(); 12 3.4 如何实现一个Map<...
Java 集合概述 Collection 接口 Iterator 接口 Set List Map Collections 工具类 Enumeration
Iterator与Enumeration分别是实现迭代器和枚举器类的接口,下面就带大家来详解Java中的迭代迭代器Iterator与枚举器Enumeration,以及它们之间的区别.
java-util-iterator.pdfjava-util-iterator.pdfjava-util-iterator.pdf