概述
集合继承图(重点1!!!)
两种集合介绍
1.集合主要是2种(单列集合,双列集合)
2.Collection接口有2个重要的子接口List,Set,他们的实现子类都是单列集合
3.Map接口实现子类是双列集合,存放的key-value
Collection接口实现类的特点
Collection接口和常用的方法
public class CollectionMethod { public static void main(String[] args) { /** * add:添加单个元素 * remove:删除指定元素 * contains:查找元素是否存在 * size:获取元素个数 * imEmpty:判断是否为空 * clear:清空 * addAll:添加多个元素 * containsAll:查找多个元素是否都存在 * removeAll:删除多个元素 */ List list = new ArrayList(); //add:添加单个元素 list.add("你好"); list.add(10);//list.add(new Integer(10)) System.out.println(list); //=============================================================== //remove:删除指定元素 //list.remove("你好");//指定删除某个元素(你好) //list.remove(0);//删除第一个元素 //System.out.println(list); //=============================================================== //contains:查找元素是否存在 System.out.println(list.contains("你好"));//有这个元素返回true System.out.println(list.contains("不好"));//没有则返回false //=============================================================== //size:获取元素个数 System.out.println(list.size());//目前集合有2个元素,所以返回2 //=============================================================== //imEmpty:判断是否为空 System.out.println(list.isEmpty());//不为空,返回false //=============================================================== //clear:清空(慎用) list.clear();//清空这个集合 System.out.println(list); //=============================================================== //addAll:添加多个元素 ArrayList list2 = new ArrayList(); list2.add("红楼梦"); list2.add("三国演义"); list.addAll(list2);//将集合list2全部加入到list System.out.println(list); //=============================================================== //containsAll:查找多个元素是否都存在 System.out.println(list.containsAll(list2));//list2里面元素都存在,返回true //=============================================================== //removeAll:删除多个元素 list.add("聊斋"); list.removeAll(list2);//把list2所有元素删除 System.out.println(list); //=============================================================== } }
Collection接口都可以使用iterator(迭代器)
1.iterator对象称为迭代器,主要用于遍历集合
2.所有实现了Collection接口的集合都有一个iterator()方法,用来返回一个实现它的对象
3.仅用于遍历集合,本身并不存放对象
Collection接口还可以使用增强for循环遍历
迭代器可以用itit快捷键
增强for循环可以使用I使用
例子:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionIterator {
@SuppressWarnings({"all"})
public static void main(String[] args) {
Collection arrayList = new ArrayList();//接口Collection指向Arraylist(向上转型)
arrayList.add(new Book("三国演义","罗贯中",20));
//new一个book为了明确录入对象是book
arrayList.add(new Book("红楼梦","曹雪芹",32));
//System.out.println(arrayList);
//遍历arrayList集合
//1.先得到arrayList对应的 迭代器iterator
Iterator iterator = arrayList.iterator();
//2.使用while遍历循环
//
while (iterator.hasNext()){//判断集合内是否还有数据
//
//返回下一个元素,类型是Object
//
Object next = iterator.next();
//
System.out.println(next);
//
}
//快捷键itit,可以快速生成while,ctrl+j可以显示所有快捷键
while (iterator.hasNext()) {
Object next =
iterator.next();
System.out.println(next);
}
//3.当退出while循环后,这时iterator迭代器,指向最后的元素,继续取出会报异常
//4.如果希望再次遍历集合,需要重置迭代器
iterator = arrayList.iterator();//重置迭代器
System.out.println("第二次遍历");
while (iterator.hasNext()) {
Object next =
iterator.next();
System.out.println(next);
}
//增强for循环,可以替代iterator迭代器
//特点:增强for就是简化版的iterator,本质一样,只能用于遍历集合或数组
//增强for,底层仍然是迭代器,快捷键 I
System.out.println("第三次遍历");
for(Object book : arrayList)
System.out.println(book);
}
}
class Book{
private String name;
private String author;
private double price;
public Book(String name, String author, double price) {
this.name = name;
this.author = author;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + ''' +
", author='" + author + ''' +
", price=" + price +
'}';
}
}
List接口和常用方法
实例演示:
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings({"all"})
public class List_ {
public static void main(String[] args) {
//
1.list集合类中元素有序(即添加顺序和取出顺序一致),且可以重复
//
可以理解成队列,先进先出
//
List list = new ArrayList();
//
list.add("jack");
//
list.add("tom");
//
list.add("mary");
//
list.add("yq");
//
list.add("jack");//可以重复
//
System.out.println(list);
//
//
2.list集合中的每个元素都有对应的顺序索引,即支持索引
//
索引是从0开始的
//
System.out.println(list.get(3));//yq下标为3,输出yq
//=======================================================================
//list常用方法
/**
* void add(int index,Object ele):在index位置插入ele元素
* boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素添加进去
* Object get(int index):获取指定index位置的元素
* int indexOf(Object obj):返回obj在集合中首次出现的位置
* int lastlndexOf(Object obj):返回obj在当前集合中末次出现的位置
* Object remove(int index):移除指定index位置的元素,并返回此元素
* Object set(int index,Object ele):设置指定index位置的元素为ele,相当于是替换
* List subList(int fromindex,int tolndex):返回从fromindex到tolndex位置的子集合
*/
List list1 = new ArrayList();
list1.add("张三丰");
list1.add("贾宝玉");
//void add(int index,Object ele):在index位置插入ele元素
//在index = 1的位置插入一个对象;
list1.add(1,"刘备");//在下标为1的地方插入刘备
System.out.println(list1);
//=======================================================================
//boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素添加进去
List list2 = new ArrayList();
list2.add("jack");
list2.add("tom");
list1.addAll(1,list2);//在下标为1的地方加入list2的所有元素,其余的往后移动
System.out.println(list1);
//=======================================================================
// int indexOf(Object obj):返回obj在集合中首次出现的位置
System.out.println("首次出现下标=" + list1.indexOf("tom"));//返回tom首次出现的下标位置2
//=======================================================================
//int lastlndexOf(Object obj):返回obj在当前集合中末次出现的位置
list1.add("tom");
System.out.println("最后一次出现下标=" + list1.lastIndexOf("tom"));//返回tom最后出现的下标位置5
//=======================================================================
//Object remove(int index):移除指定index位置的元素,并返回此元素
list1.remove(0);
System.out.println(list1);
//=======================================================================
//Object set(int index,Object ele):设置指定index位置的元素为ele,相当于是替换
list1.set(1,"奥特曼");//相当于把原先在1位置的 tom 换成 奥特曼
System.out.println(list1);
//=======================================================================
// List subList(int fromindex,int tolndex):返回从fromindex到tolndex位置的子集合
//注意返回的集合 fromIndex <= subList < toIndex
List return_ = list1.subList(0,3);//返回下标从 0 到 3-1 的元素,并赋给return_
System.out.println(return_);
}
}
最后
以上就是背后夏天为你收集整理的集合(迭代器iterator)的全部内容,希望文章能够帮你解决集合(迭代器iterator)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复