集合类

集合类的概述

java语言中java.util包中提供了一些集合类,这些集合类又被称为容器。提到容器不难会想到数组,集合类与数组的不同之处是,数字的长度是固定的,集合的长度是可变的,数组用来存放基本数据类型的数据,集合用来存放对象的引用。常用的集合类有List集合、Set集合、Map集合,其中List与Set实现了Collection接口。各接口还提供了不同的实现类。关系图如下:

 

 

集合类接口的常用方法

List接口的常用方法

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

如图:

从图可看出,List接口中适合于自身的方法都与索引有关。由于List集合以线性方式存储对象,因此可以通过对象的索引来操作对象。

在List集合的众多方法中,add(int index,Object obj)方法与set(int index,Object obj)方法不容易区分。

List集合中可以包含重复的对象,若要获取重复对象第一次出现的索引位置可以使用indexOf()方法,要获取重复对象最后一次出现的索引位置可以使用lastindexOf()方法。

上课讲义:

package array;
import java.util.*;
public class Test1 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

        //创建List
        //1.指明数据类型,不需要指定大小
        //<> 表示泛型
        List<String>list=new ArrayList<String>();
        
        List<Object>list1=new ArrayList<Object>();
        //泛型区别
        list1.add(1);
        list.add("");
        
        
        
        //添加元素
        list.add("a"); 
        list.add("b");
        list.add("c");
        //长度   size();
        System.out.println("list长度="+list.size());//尺寸
        //取出元素   get();
        System.out.println("按索引0取出get(0)="+list.get(0));
        System.out.println("按索引1取出get(1)="+list.get(1));
        System.out.println("按索引2取出get(2)="+list.get(2));
        //遍历元素
          //方法一
        for(int i=0;i<list.size();i++)
        {
            System.out.print(list.get(i)+" ");
        }
        System.out.println("遍历方式二");
          //方法二
        for(String s:list)
        {
            System.out.print(s+" ");
        }
        System.out.println();
          //方法三  迭代器
            //获取集合的迭代器,迭代器一开始是在集合的最上面
                //泛型
        Iterator<String> it=list.iterator();
        //先判断看看有内有内容(试探)
        while(it.hasNext())
        {
            //取出
            String t=it.next();
            //如果t=b  移除
            if(t.equals("b"))
            {
            it.remove();
            }
            System.out.println("迭代器="+t);
        }
//        //移除
////        list.clear();//全部移除  
////        System.out.println(list.size());  
//        list.remove(0);//单个移除
//        System.out.println("单个移除后长度="+list.size());
//        System.out.println("按索引0取出get(0)="+list.get(0));
//        System.out.println("按索引1取出get(1)="+list.get(1));
//        for(String s:list)
//        {
//            System.out.print(s+" ");
//        }
//        System.out.println();
//        //插入
//        System.out.println("0索引插入A后");
//        list.add(0, "A");
//        for(String s:list)
//        {
//            System.out.print(s+" ");
//        }
//        //修改
//        System.out.println();
//        System.out.println("输入索引,修改");
//        list.set(1, "B");
//        list.set(2, "C");
//        for(String s:list)
//        {
//            System.out.print(s+" ");
//        }
//        //查找字符串
//        System.out.println();
//        System.out.println("B的位置="+list.indexOf("B"));
        
        
        
        
    }

}
上课讲义:

迭代器:

大纲:

迭代器的创建和使用:

利用Iterator接口创建迭代器,Iterator借口位于java.util包下。Iterator接口中有3种方法。

***hasNext();如果仍有元素可以迭代,则返回true。

***next();返回迭代的下一个元素。

***remove();从迭代器指向的collection中移除迭代器返回的最后一个元素(可选操作)。

 

posted on 2016-03-10 21:34  一全  阅读(256)  评论(0编辑  收藏  举报

导航