迭代器 Collection以及List接口

集合

 因为我们在有时存储数组时需要去给数组中在添加,但是数组的长度是固定的,不支持长度
 不断在变化对于这种情况java提供了一个集合框架,Collection<泛型>
集合的特点
 1.长度是可变的
 2.存储类型 , 存储的引用类型
 3.存储元素,可以存储任意类型的元素
Collection

通过API查询Collection

    Collection层次结构中的根接口。Collection表示一组对象,这些对象也称为collection的元素
    一些collection允许有重复的元素,而另一些则不允许,一些collection是有序的,一些是无序的jdk不提供接口的任何直接实现:它提供更具体的子接口(如set和list)实现

接口的实例化:间接的或者直接的通过子实现类完成实例化

基本功能
  boolean add(E e) 给集合中添加元素
 boolean remove(Object o) 移除集合中的某个元素
 void clear()暴力删除,删除一个集合中的所有元素(慎用)
 boolean contains(Object o) 判断当前集合中是否包含指定的元素
 boolean isEmpty()  判断集合是否为空
 int size() 获取集合的元素数
Collection的高级功能
boolean addAll(Collection c):添加一个集合中的所有元素
boolean removeAll(Collection c):删除集合元素删除一个算删除
boolean containsAll(Collection c):包含一个集合中的元素 包含当前集合中的所有元素,则返true
boolean retainAll(Collection c):交集功能 
A集合对B集合取交集,A对象.retainAll(B对象); 交集的元素保存在A中
	boolean的返回值表达的意思是A集合中的数据是否发生变化,如果没有变化,就是false,化,true
迭代器
  集合提供了专有遍历元素的方式:迭代器
  Iterator iterator():获取迭代器 返回值类型接口
  Iterator接口方法:
  Object next()获取下一个元素
  boolean hasNext():判断是否有下一个可以迭代(遍历)元素 

迭代器(作用:遍历集合中的元素)

迭代器接口Iterator
interface Iterator{
	boolean hasNext(); 判断
	 Object next();获取
}
//顶层次接口
interface Iterable{
	抽象方法
	Iterator iterator();
}
interface Collection extends Iterable{
	Iterator iterator();
}
interface List extends Collection{
	Iterator iterator();
}
//子实现类
class ArrayList implements List{
	 public Iterator iterator() {
        return new Itr(); //接口的子实现类
    } 
    //成员内部类
      private class Itr implements Iterator{
     	  	public boolean hasNext(){
     	  		重写;
     	  	}
     	  	//重写
			public  Object next(){
			 
			 }   
      }
}

迭代器遍历Collection集合

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Test1 {
	public static void main(String[] args) {
		//创建collection集合对象
		Collection c = new ArrayList();
		//给集合中添加元素
		c.add("呵呵");
		c.add("哈哈");
		c.add("嘻嘻");
		c.add("呜呜");
		//获取迭代器(作用:遍历集合中的元素)
		Iterator it = c.iterator();
		while (it.hasNext()) {
			String string = (String) it.next();
			System.out.println(string);
		}
	}
}
List
 List 继承自Collection 就会有Collection的迭代器的功能
List集合特点:
1)允许元素重复
2)存储和取出一致的(有序性)
List集合的特有功能
void add(int index,Object element):在指定位置处添加一个新的元素element
Object remove(int index):删除指定位置处的元素
Object get(int index):获取指定位置处的元素
Object set(int index,Object element):在指定位置处设置(修改)元素
ListIterator
 ListIterator listIterator():列表迭代器
 	ListIterator的成员方法
 	boolean hasNext()
 	Object next()

列表迭代器遍历list集合

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class Test3 {
	public static void main(String[] args) {
		//创建一个List集合对象
		List list = new ArrayList();
		//添加元素
		list.add("娃哈哈");
		list.add("农夫山泉");
		list.add("爽歪歪");
		list.add("ad");
		//获取列表列表迭代器
		ListIterator li = list.listIterator();
		while (li.hasNext()) {
			String string = (String) li.next();
			System.out.println(string);
		}
		for (int i = 0; i < list.size(); i++) {
			String string = (String) list.get(i);
			System.out.println(string);
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值