集合类的概述
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
list=new ArrayList
(); List
list1=new ArrayList(); //泛型区别 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
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中移除迭代器返回的最后一个元素(可选操作)。