Java集合类学习

Posted tiger_yj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合类学习相关的知识,希望对你有一定的参考价值。

1. List接口的常用方法

  List接口继承了Collection接口,因此包含Collection中的所有方法。又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法。

 1.1. 示例代码1

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

public class CollectionDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String a="A",b="B",c="C",d="D",e="E";            //定义要插入集合的字符串对象
        List<String> list=new LinkedList<String>();    //创建List集合
        list.add(a);        //向集合中添加元素
        list.add(b);
        list.add(d);
        Iterator<String> firstIterator=list.iterator();    //创建集合的迭代器
        System.out.println("*******修改前集合中的元素是:********");    //输出信息
        while(firstIterator.hasNext()) {                //遍历集合中的元素
            System.out.print(firstIterator.next()+"\t");
        }
        list.set(1, c);        //将索引位置为1的对象修改为对象c
        list.add(2,e);        //将对象e添加到索引位置为2的位置
        Iterator<String> it=list.iterator();            //创建将集合对象修改之后的迭代器对象
        System.out.println();
        System.out.println("********修改后集合中的元素是:********");
        while(it.hasNext()) {    //循环获取集合中的元素
            System.out.print(it.next()+"\t");
        }
        
        System.out.println("\n");
        System.out.println("********List集合的其他常用方法:********");
        List<String> list2=new ArrayList<String>();    //创建List集合对象
        list2.add(a);            //对象a的索引位置为0
        list2.add(e);            //对象e的索引位置为1
        list2.add(b);            //对象b的索引位置为2
        list2.add(e);            //对象e的索引位置为3
        list2.add(c);            //对象c的索引位置为4
        list2.add(e);            //对象e的索引位置为5
        list2.add(d);            //对象d的索引位置为6
        System.out.println(list2);    //输出列表中的全部元素
        System.out.println("e第一次出现的索引位置是:"+list2.indexOf(e));
        System.out.println("e最后一次出现的索引位置是:"+list2.lastIndexOf(e));
        System.out.println("c第一次出现的索引位置是:"+list2.indexOf(c));
        System.out.println("c最后一次出现的索引位置是:"+list2.lastIndexOf(c));
    }

}

执行其结果显示如下:

*******修改前集合中的元素是:********
A    B    D    
********修改后集合中的元素是:********
A    C    E    D    

********List集合的其他常用方法:********
[A, E, B, E, C, E, D]
e第一次出现的索引位置是:1
e最后一次出现的索引位置是:5
c第一次出现的索引位置是:4
c最后一次出现的索引位置是:4

2. Set接口的常用方法
  Set集合由Set接口和Set接口的实现类组成。利用addAll()方法去除重复值。示例代码如下:

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

public class CollectionDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List<String> list=new ArrayList<String>();        //创建List集合
        list.add("orange");                                //向集合中添加对象
        list.add("apple");
        list.add("pear");
        list.add("banana");
        list.add("apple");
        list.add("pear");
        Set<String> set=new HashSet<String>();            //创建List集合对象
        set.addAll(list);                                //将List集合添加到Set集合中
        Iterator<String> it=set.iterator();                //创建Set集合迭代器
        System.out.println("********集合中的元素是:********");
        while(it.hasNext()) {
            System.out.print(it.next()+"\t");
        }
    }

}

执行结果显示如下:

********集合中的元素是:********
orange    banana    apple    pear    

3. Map接口的常用方法
  Map接口提供了将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

import java.util.HashMap;
import java.util.Map;

public class MapDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Map<String,String> map=new HashMap<String,String>();        //创建Map集合
        map.put("1", "pear");                    //向集合中添加对象
        map.put("2", "orange");
        map.put("3", "banana");
        for(int i=0;i<=3;i++) {
            System.out.println("第"+i+"元素是:"+map.get(""+i+""));    //输出对应位置的元素值
        }
    }

}

执行其结果显示如下:

第0元素是:null
第1元素是:pear
第2元素是:orange
第3元素是:banana

 



以上是关于Java集合类学习的主要内容,如果未能解决你的问题,请参考以下文章

Java 集合学习笔记:ArrayList

Java 集合学习笔记:ArrayList

Java 集合学习笔记:ArrayList

201621123054《Java程序设计》第九周学习总结

201621123062《java程序设计》第九周作业总结

201621123048《Java程序设计》第九周学习总结