JAVA集合及常用方法说明

JAVA集合框架中的接口

1.Collection接口。该接口定义了一个存取一组对象的方法,是最基本的接口

2.Set接口。该接口继承Collection接口,它包含的数据没有顺序且不可以重复

3.List接口。该接口继承Collection接口,它包含的数据有顺序且可以重复

4.Map接口。该接口是一个单独的接口,不继承Collection接口。它是一种把键对象和值对象进行关联的容器,不可以包含重复键

JAVA集合中的实现类

1.HashSet。实现了Set接口,为无序集合,能够快速定位一个元素。需要注意的是,存入HashSet中的对象必须实现HashCode()方法

2.TreeSet。不仅实现了Set接口,还实现了Sorted接口,可对集合进行自然排序(即升序排序)

3.ArrayList。实现了List接口,为有序集合,它的大小可变并且可以像链表一样被访问。它是以数组的方式实现的List接口,允许快速随机存取

4.LinkedList。实现了List接口,为有序集合,通过一个链表的形式实现List接口,提供最佳顺序存取,适合插入和移除元素。有这个类定义的链表也可以像栈或队列一样被使用

5.HashMap。实现一个“键-值”映射的哈希表,通过键获取值对象,没有顺序,通过get(key)方法来获取value的值,允许存储空对象,而且允许键是空的。不过,键只能有一个

Collection接口中的方法

Collection常用方法

举栗子:

package com.moxiaofeng2;

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

public class CollectionTest {

public static void main(String[] args) {

//创建集合C

        Collection collection =new ArrayList();

        //向集合中添加元素

        collection.add("Apple");

        collection.add("Orange");

        collection.add("Banana");

        collection.add("Pear");

        //创建Array集合

        ArrayList arrayList =new ArrayList();

        //向集合中添加元素

        arrayList.add("Dog");

        arrayList.add("Cat");

        System.out.println("集合collection中元素个数:" + collection.size());

        //如果arraylist集合不为空

        if (!arrayList.isEmpty()){

//将集合array里面的元素添加到集合collection中

            collection.addAll(arrayList);

        }

System.out.println("集合collection中元素个数:" + collection.size());

        //返回迭代器

        Iterator iterator = collection.iterator();

        System.out.println("集合collection中元素:");

        //判断迭代器中是否存在下一个元素

        while (iterator.hasNext()){

//使用迭代器循环输出集合中的元素

            System.out.print(iterator.next() +" ");

        }

System.out.println();

        //判断集合中是否包含Cat

        if (collection.contains("Cat")) {

System.out.println("-------集合collection中包含Cat--------");

        }

//从集合collection中删除集合arrayList中的所有元素

        collection.removeAll(arrayList);

        //返回迭代器对象

        iterator = collection.iterator();

        System.out.println("集合collection中元素:");

        while(iterator.hasNext()){

System.out.print(iterator.next() +" ");

        }

System.out.println();

        //将集合中的元素存放到字符串数组中

        Object[] objects = collection.toArray();

        String s ="";

        System.out.println("素组中元素:");

        for (int i =0; i < objects.length; i++){

//String strings = new String();

//strings = objects[i].toString();

            s = (String)objects[i];

            //System.out.print(strings + " ");

            System.out.print(s +" ");

        }

}

}

List接口中的方法

List常用方法

举栗子:

package com.moxiaofeng2;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ArrayListTest {
    public static void main(String[] args) {
        //创建初始容量为10的空列表
        ArrayList array = new ArrayList();
        //添加元素
        array.add("cat");
        array.add("dog");
        array.add("pig");
        array.add("sheep");
        array.add("pig");
        //创建迭代器
        Iterator iterator = array.iterator();
        System.out.println("array集合中的元素有:");
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
        //替换指定索引处的元素
        System.out.println("返回替换集合中索引是1的元素:" + array.set(1,"mouse"));
        iterator = array.iterator();
        System.out.println("元素替换后集合中的元素:");
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
        //获取指定索引处集合的元素
        System.out.println("获取集合中索引是2的元素:" + array.get(2));
        System.out.println("集合中第一次出现pig的索引:" + array.indexOf("pig"));
        System.out.println("集合中最后一次出现dog的索引:" + array.lastIndexOf("pig"));
        List list = array.subList(1,4);
        iterator = list.iterator();
        System.out.println("新集合中的元素");
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
    }
}

LinkedList类的方法

LinkedList常用方法

举栗子:

package com.moxiaofeng2;

import java.util.Iterator;
import java.util.LinkedList;

public class LinkedListTest {
    public static void main(String[] args) {
        //创建LinkedList集合对象
        LinkedList linkedList = new LinkedList();
        //添加元素
        linkedList.add("cat");
        linkedList.add("dog");
        linkedList.add("pig");
        linkedList.add("sheep");
        linkedList.addFirst("mouse");
        linkedList.addLast("duck");
        //创建迭代器遍历集合元素
        Iterator iterator = linkedList.iterator();
        System.out.println("linkedList集合中的元素分别有:");
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
        System.out.println("获取集合中第一个元素:" + linkedList.getFirst());
        System.out.println("获取集合中最后一个元素:" + linkedList.getLast());
        System.out.println("删除集合中第一个元素:" + linkedList.removeFirst());
        System.out.println("删除集合中最后一个元素:" + linkedList.removeLast());
        iterator = linkedList.iterator();
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
    }
}

TreeSet类提供方法

TreeSet常用方法

举栗子:

package com.moxiaofeng2;

import java.util.Iterator;
import java.util.SortedSet;
import java.util.TreeSet;

public class TreeSetTest {
    public static void main(String[] args) {
        //创建TreeSet集合
        TreeSet treeSet = new TreeSet();
        //添加元素
        treeSet.add("45");
        treeSet.add("32");
        treeSet.add("55");
        treeSet.add("87");
        treeSet.add("89");
        treeSet.add("34");
        treeSet.add("99");
        //获取集合中元素个数
        System.out.println("集合中元素一共有:" + treeSet.size());
        //创建迭代器,遍历集合
        Iterator iterator = treeSet.iterator();
        System.out.println("treeset中集合元素为:");
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
        System.out.println();

        System.out.println("获取34~89之间的集合:");
        //System.out.print(treeSet.subSet("34","89"));
        SortedSet sortedSet = treeSet.subSet("34","89");
        iterator = sortedSet.iterator();
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
        System.out.println("集合中89之前的元素");
        SortedSet sortedSet1 = treeSet.headSet("89");
        iterator = sortedSet1.iterator();
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
        System.out.println("获取45之后的数据");
        SortedSet sortedSet2 = treeSet.tailSet("45");
        iterator = sortedSet2.iterator();
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
        System.out.println("获取集合中第一个元素:" + treeSet.first());
        System.out.println("获取集合中最后一个元素:" + treeSet.last());
        System.out.println("获取并移除集合中第一个元素:" + treeSet.pollFirst());
        System.out.println("获取并移除集合中最后一个元素:" + treeSet.pollLast());
        //遍历集合中的元素
        iterator = treeSet.iterator();
        while (iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
    }
}

Map接口提供方法

Map常用方法

举栗子:

package com.moxiaofeng2;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class HashMapTest {
    public static void main(String[] args) {
        //创建Map集合
        HashMap hashMap = new HashMap();
        //添加元素
        hashMap.put("1","一代天骄");
        hashMap.put("2","成吉思汗");
        hashMap.put("3","只识弯弓射大雕");
        hashMap.put("4","俱往矣");
        hashMap.put("5","数风流人物");
        hashMap.put("5","还看今朝");
        System.out.println("指定键2获取值:" + hashMap.get("2"));
        Set set = hashMap.keySet();
        Iterator iterator = set.iterator();
        //获取HashMap中值的合并输出
        String key = "";
        while (iterator.hasNext()){
            key = (String)iterator.next();
            System.out.println(key + ":" + hashMap.get(key));
        }
    }
}
没有梦想何必远方,我是小鲸鱼,一条奔跑在无边海域的小鲸鱼

你可能感兴趣的:(JAVA集合及常用方法说明)