集合的小结

上面是集合的继承体系图,根据此图可更方便学习集合


Colleciton的集合的高级功能:

boolean addAll(Collection c)  :添加一个集合中的所有元素
boolean removeAll(Collection c):删除的高级功能(思考:删除一个算是删除还是删除所有算是删除?)
boolean containsAll(Collection c):包含所有元素算是包含,还是包含一个算是包含

交集功能:
boolean retainAll(Collection c):A集合对B集合取交集,交集的元素到底是去A集合还是去B集合中,返回值boolean
表达什么意思?

public class CollecitionDemo {
public static void main(String[] args) {
	//创建集合对象
	Collection c1 = new ArrayList() ;
	c1.add("abc");
	c1.add("efg");
	c1.add("hij");
	System.out.println(c1);
	System.out.println("-------------------------");
	//创建第二个集合对象
	Collection c2 = new ArrayList();
	c2.add("abc");
	c2.add("efg");
//	c2.add("123");
	c2.remove("123");
	System.out.println(c2);
	System.out.println("-------------------------");
	boolean a = c1.containsAll(c2);
	System.out.println(a);
	System.out.println("-------------------------");
	//有结果可知包含所有才算包含
	boolean b = c1.retainAll(c2);
	System.out.println(b);
	/**
	 * 结论:A集合对B集合取交集,交集的元素要去A集合中,
	 * boolean返回值表达的A集合的元素是否发生变化
	 * ,如果发生变化,则返回true,否则,返回false
	 */
}
}


转换功能:Object[] toArray() :将集合转换成数组


需求:要给集合中存储字符串类型的数据,并遍历

public class CollectionDemo1 {
 public static void main(String[] args) {
	//创建集合对象,并导包
	 Collection c = new ArrayList();
	 c.add("hello");
	 c.add("world");
	 c.add("java");
	 //将集合遍历,只有数组有lenth属性
	Object [] ob = c.toArray();
	 
	 for(int i = 0;i<ob.length ;i++) {
		 System.out.println(ob[i]+"----"+ob.length);
		
		 //ob.length输出的数组的长度
		 /**
			 *上面代码有问题
			 * length():属于String类型的特有功能,可以获取字符串长度
			 */
			String str = (String) ob[i] ;  //相当于:向下转型
			System.out.println(str+"----"+str.length());
	 }
}
}

Iterator iterator() :集合的迭代器方法(获取集合的迭代器)

集合的专有遍历方式:迭代器遍历
Iterator :接口中有以下的方法:
boolean hasNext() :如果有元素可以迭代,那么返回true,否则返回false
Object next()返回迭代的下一个元素。 
存储String类型的元素
class IteratorDemo {
 public static void main(String[] args) {
	//创建集合对象
	 Collection c = new ArrayList();
	 c.add("world");
	 c.add("java");
	 c.add("hello");
	 //Iterator iterator() :集合的迭代器方法(获取集合的迭代器)
	 Iterator it = c.iterator();
	 while(it.hasNext()) {
		  Object ob = it.next();//我的理解String类型的父类
//		  System.out.println(ob);
		//想要输出字符串的长度,必须转化为字符串类型
		  String str = (String)ob;
		  System.out.println(str+"---"+str.length());
	 }
}
}

List集合的特点:

有序的 (存储和取出一致),可以允许重复元素
Set集合的特点:
无序性(不能保证迭代的顺序,基于hashMap),并且元素不能重复
public class ListDemo {
public static void main(String[] args) {
	//创建List对象,并导包
	List L = new ArrayList();
	L.add("hello");
	L.add("world");
	L.add("java");
	//用迭代器遍历
	Iterator it = L.iterator() ;
  while(it.hasNext()) {
	  Object ob = it.next();
	  String s = (String)ob;
	  System.out.println(s+"-----"+s.length());
  }
}
}

List集合的特有功能:

添加功能
void add(int index,Object element):在指定位置处添加指定元素
获取功能
Object get(int index)返回列表中指定位置的元素。
ListIterator listIterator():列表迭代器
删除功能:
Object remove(int index):删除指定位置处的元素
        修改功能
Object set(int index, Object element):用指定element元素替换掉指定位置处的元素

public class ListDemo1 {
	public static void main(String[] args) {
		//创建集合对象
		List list = new ArrayList();
		
		
		//添加元素
		list.add("hello") ;
		list.add("world") ;
		list.add("java") ;
		
		System.out.println("list:"+list);
		
		//void add(int index,Object element):在指定位置处添加指定元素
		list.add(1, "javaee");
		System.out.println("list:"+list);
		
		System.out.println("---------------------");

		
		
		//Object get(int index)返回列表中指定位置的元素。
		System.out.println("get():"+list.get(2));
		System.out.println("---------------------");
//		Object remove(int index):删除指定位置处的元素
		System.out.println("remove():"+list.remove(3));
		
//		Object set(int index, Object element):用指定element元素替换掉指定位置处的元素
		System.out.println("set():"+list.set(2, "android"));
		System.out.println("list:"+list);
	}
}
 

ListIterator listIterator():列表迭代器 (List集合的专有迭代遍历:列表迭代器)

ListIterator接口中:
boolean hasNext()  :判断是否有下一个可以迭代的元素(正向遍历)
  Object next():获取下一个元素
  boolean hasPrevious():判断是否有上一个可以迭代 元素(逆向遍历)
  Object previous():返回上一个元素
 逆向迭代(遍历),单独使用没意义,前提,要先正向遍历

public class ListIteratorDemo {
public static void main(String[] args) {
	//创建集合对象
	List L = new ArrayList();
	//添加集合内容
	L.add("ASD");
	L.add("asD");
	L.add("QWE");
	L.add("ASDQW");
	//创建ListIterator迭代器进行遍历
	ListIterator it = L.listIterator() ;
	//遍历集合
	while(it.hasNext()) {
		Object ob = it.next();//向下转型强制类型转换
		String str = (String)ob;
		System.out.println(str+"----"+str.length());
	}
	//boolean hasPrevious():判断是否有上一个可以迭代 元素(逆向遍历)
	 //Object previous():返回上一个元素
	while(it.hasPrevious()) {
		String s = (String)it.previous() ;
		System.out.println(s+"---"+s.length());
	}
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值