Java集合类概述

来源:互联网 发布:fc2的域名设置 编辑:程序博客网 时间:2024/04/29 06:09

1Collection接口

通常遍历集合,都是通过迭代器(Iterator)实现。注意:Iteratornext()方法返回的是Object

Collection接口常用的方法:

add(E e):将指定的对象添加到集合中。

remove(Object o):将指定对象从集合中删除。

isEmpty():返回boolean值,判断当前集合是否为空。

iterator():返回在此Collection的元素上进行迭代的迭代器。用于遍历集合中的对象。

size():返回int型值,获取该集合中元素的个数。

示例代码:

package test;import java.util.*;public class hello {public static void main(String[] args) {        Collection<String> list = new ArrayList<>();        list.add("a");        list.add("b");        list.add("c");        list.add("d");Iterator<String> it = list.iterator();while(it.hasNext()){String str = (String)it.next();System.out.println(str);}}}

运行结果:

abcd


2List集合

List接口继承Collection接口,此外还定义了一下两个非常重要的方法:

get(int index):获取指定索引位置的元素

set(int index,Object obj):将集合中指定索引位置的对象修改为指定对象

常用实现类:ArrayListLinkedList.

使用List集合时通常声明为List类型,可通过不同的实现类来实例化集合。

List<E> list = new ArrayList<>();

List<E> list = new LinkedList<>();

注:E为合法的java数据类型。

示例代码:

package test;import java.util.*;public class hello {public static void main(String[] args) {        List<String> list = new ArrayList<>();        list.add("a");        list.add("b");        list.add("c");        int i = (int)(Math.random()*(list.size()-1));        System.out.println("随机获取的数组元素:"+list.get(i));        list.remove(2);        System.out.println("将索引2的元素移除后,剩余数组元素是:"); for (int j = 0; j < list.size(); j++) {System.out.println(list.get(j));}                 /* 第二种方法:创建一个迭代器进行显示        Iterator<String> it = list.iterator();         while(it.hasNext()){        String str = (String)it.next();        System.out.println(str);        }          */ }}

运行结果:

随机获取的数组元素:b将索引2的元素移除后,剩余数组元素是:ab


3Set集合

Set集合中对象不按特定的顺序进行排列,但不能包含重复对象!

继承Collection接口,实现的类有:HashSetTreeSet

新增的方法:

first():返回第一个元素(最低)。

last():返回最后一个元素(最高)。

comparator():返回元素进行排序的比较器。如果set采用自然排序则返回NULL

headSet(E toElement):返回一个新的Set集合,新集合包含toElement(不包含)之前的所有对象。

subSet(E toElement,E toElement):返回一个新的Set集合,包含fromElement(包含)对象与toElement(不包含)之间所有的对象。

tailSet(E fromElemnt):返回一个新的Set集合,新集合包含对象fromElement(包含)滞后的所有对象。

技巧:如果指定参数位于新集合的起始位置,则包含该对象,如果是终止位置,不包含该对象。

 

4Map集合

Map集合没有继承Collection接口,其提供的是keyvalue的映射。Map中不能包含相同的key,每个key只能映射一个value

Map集合中允许对象是NULL,而没有个数限制。

常用的方法:

put(K key,V value):向集合中添加keyvalue的映射关系。

containsKey(Object key):如果此映射包含key的映射关系,则返回true.

containsValue(Object value):如果此映射将一个或多个key映射到指定值,则返回true.

get(Object key):如果存在指定的key,则返回该值,否则返回NULL

keySet():返回该集合中所有key对象形成的Set集合。

values():返回该集合中所有value对象所形成的Collection集合。

 

示例代码:

package test;import java.util.*;public class hello {public static void main(String[] args) {Map<String,String> map = new HashMap<>();map.put("01","李同学");map.put("02","张同学");map.put("03","王同学");Set<String> set = map.keySet();     //获取key的Set集合Iterator<String> it = set.iterator();while(it.hasNext()){System.out.println(it.next());}Collection<String> value = map.values();//获取value的Collection集合。it = value.iterator();while(it.hasNext()){System.out.println(it.next());}}}
运行结果:

010203李同学张同学王同学

0 0
原创粉丝点击