Collection集合

Collecton

一些 集合 允许有重复的元素(List),而另一些则不允许(Set)。
一些 集合(List) 是有序的,而另一些则是无序的(Set)。JDK 不提供此接口的任何直接 实现: 它提供更具体的子接口(如 Set 和 List)实现.

面试题

数组和集合的区别?

  • 1)长度的区别
    数组:长度是固定的
    集合:长度是可变的
  • 2)存储类型的区别
    数组:可以存储基本类型,也可以存储引用数据类型
    集合:只能存储引用类型!
  • 3)存储元素的区别:
    数组:只能存储同一种类型的元素 举例:水杯中水
    集合:可以存储不同类型的元素(类型都是引用类型) :举例:可乐+水+雪碧

Collection的基本功能

  • 添加元素:
    boolean add(Object e):添加任意的引用类型元素
  • 删除元素:
    boolean remove(Object o):删除指定的元素
    void clear() :清空集合中的所有元素
  • 判断功能:
    boolean contains(Object o):判断是否包含指定的元素 包含就返回true,否则返回false
    boolean isEmpty():判断集合是否为空,如果为空,则返回true,否则false
  • 获取功能:
    int size() :获取集合中的元素数
    Object[] toArray():将集合进行遍历—>将集合转换成数组遍历(传统方式)
    Iterator iterator() :获取Collection的集合的迭代器(集合的专有遍历方式)

代码实现:

package CSDN_Test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	
	public static void main(String[] args) {
		//创建一个Collection集合对象
		//Collection c = new Collection() ; //接口不能实例化
		Collection c = new ArrayList() ;
		System.out.println(c);//[] 空集合//集合重写了Object类中toString()方法
		
		//boolean add(Object e):添加任意的引用类型元素
		//boolean flag = c.add("hello") ;
		c.add("hello") ;
		c.add("world") ;
		c.add("javaee") ;
		c.add("hello") ;
		/*
		 *   public boolean add(E e) { //只要添加元素,就返回true
        		//省略
        			return true;
    		 }
		 * */
		//System.out.println(flag);
		System.out.println("------------------------------");
		//boolean remove(Object o):删除指定的元素
		System.out.println("remove():"+c.remove("world"));//
		//void clear() :清空集合中的所有元素 (暴力删除)remove():true
		//c.clear() ;
//		boolean contains(Object o):
		System.out.println("conatins():"+c.contains("javaee"));//conatins():true
		System.out.println("conatins():"+c.contains("python"));//conatins():false
		
		System.out.println("isEmpty():"+c.isEmpty());//isEmpty():false
		System.out.println("-----------------------");
		
		//集合中获取长度:size()
		//数组中获取长度:length属性
		//字符串中获取长度:length()
		System.out.println("size():"+c.size());//size():3
		
		System.out.println(c);//[hello, javaee, hello]
	}
}

集合的遍历功能

用Collection集合存储字符串并遍历:

  1. toArray()方法

toArray()方法是将集合转换成数组

public static void main(String[] args) {
		
		//1)创建集合对象
		Collection c = new ArrayList() ;
		
		//2)添加字符串元素
		c.add("hello") ;
		c.add("world") ;
		c.add("javaee") ;
		c.add("hello") ;
		c.add("javaee") ;
		c.add("python") ;
		
		//3)遍历
		Object[] objs = c.toArray() ; //想当于多态:向上转型:Object[] objs = new String() ;
		for(int x = 0 ; x < objs.length ; x ++) {
			//System.out.println(objs[x]);
			//要输出字符串的同时,输出字符串长度
			//System.out.println(objs[x]+"---"+objs[x].length());
			//向下转型
			String s = (String) objs[x] ;
			System.out.println(s+"---"+s.length());
		}
	}
  1. Iterator iterator()
public static void main(String[] args) {
		//1)创建集合对象
		Collection c = new ArrayList() ;
		//2)给集合中添加字符串数据
		c.add("hello") ;
		c.add("world") ;
		c.add("JavaEE") ;
		//3)Iterator<Object> iterator() 获取集合的迭代器对象
		Iterator it = c.iterator() ;
		while(it.hasNext()) {
			//在获取字符串的同时,获取长度
			String s  =(String) (it.next()) ;
			System.out.println(s+"---"+s.length());
		}
	}

迭代器的使用

1)集合获取迭代器的时候,集合里面存储的类型是什么类型,心里要清楚,转换会出现类转换异常(没有使
2)next()不能使用多次 ,结果不匹配(next()使用拿到了迭代器中所有的对象)Object obj = 迭代器对象.next();

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值