Collection集合、List集合及其方法

集合框架:

集合就是一个容器,
数组也是一个容器,大小是唯一的类型是唯一的,它是有指针的
集合的特点:
1.容器大小可变
2.可以存储多种数据类型的值【只能是引用数据类型,对基本数据类型而言存储的是其包装类】
根据集合的存储方式不同,将集合划分两大类:一类是单列集合,另一类是双列集合。
关键词:Collection(单列集合)、Map(双列集合)
下面我们先看一下单列集合,

单列集合

Collection被称为是单列集合
单列集合是一个集合需要子类实现
List 允许重复、有序(输入输出顺序)
Set 不允许重复、无序(不保证输出顺序)
Collection中的方法:
添加:
add(Object object) 向集合中添加一个元素

addAll(Collection collection) 向集合中添加另一个集合

Collection coll = new ArrayList();
		coll.add("沧海");//添加
Collection coll2 = new ArrayList();
		coll2.add("爱");//添加
		coll2.addAll(coll);//添加集合

删除:
remove(Object object) 从集合中移除指定的元素
removeAll(Collection collection) 从集合中移除指定的元素集合

coll.remove(1);	//remove删除单个元素
		System.out.println("删除单个元素后:"+coll);
		//移除指定集合的元素 只要有相同的就移除
		Collection coll2 = new ArrayList();
		coll2.add(1);
		coll2.add(2);
		coll2.add(3);
		coll2.add("沧海");
		coll.removeAll(coll2);//删除coll集合中和coll2及格元素相同的元素
		System.out.println("删除coll集合中和coll2中相同的元素:"+coll);
		System.out.println("coll2中的元素:"+coll2);

clear() 清空集合中的所有元素

coll.clear();//clear清空
		System.out.println("清空后的集合:"+coll);
		//清空只能清空数据集合任然在

判断:
isEmpty() 判断集合是否为空—看集合中是否有元素

//判断集合是否为空isEmpty()
		System.out.println("是否为空"+coll.isEmpty());

contains(Object object) 判断集合中是否包含指定的元素
containsAll(Collection collection) 判断集合中是否有另一个集合中对应的所有的元素

/**
	 * 是否包含
	 * 包含关键字:contains()   containsAll()
	 * 
	 */
	 public static void judgeMethod() {
		//创建集合对象
		
		Collection coll = new ArrayList();
		//add添加元素
		coll.add("沧海");
		coll.add(1);
		coll.add("声笑");
		System.out.println("coll-->"+ coll);
		//是否包含某个元素
;		System.out.println("是否包含1:"+coll.contains(1));
		//addAll添加集合
		Collection coll2 = new ArrayList();
		coll2.add("爱");
		coll2.addAll(coll);//添加coll集合
		System.out.println("coll2-->"+coll2);
		//containsAll是否包含某个集合
		System.out.println("是否包含某个集合:"+coll.containsAll(coll2));

遍历:
iterator() 遍历集合

/**
	 * 迭代器(也就是遍历集合)
	 */
	public static void iteratorMetod() {
		Collection coll = new ArrayList();
		coll.add("heihei");
		coll.add("小强");
		coll.add(123);
		Iterator  it = coll.iterator();//迭代器
		

大小:
size() 获取集合元素个数
转换:
toArray() 将集合转换为数组----注意:集合中元素的类型是惟一的//创建集合对象

	public static void changeArrayMetod() {
		Collection coll = new ArrayList();
		coll.add("heihei");
		coll.add("小强");
		coll.add(123);
		//将集合转换为数组
		//方法toArray() 
		Object[] objs = coll.toArray();
		for (int i = 0; i < objs.length; i++) {
			if (objs[i] instanceof String) {
				String str = (String)objs[i];
				System.out.println(str);
			}
		}
		System.out.println(objs.length);
	}

Collections与Collection的区别:
Collections是针对Collection集合提供的一个工具类

List集合及其应用

List集合同样是单列集合并且是Collection集合的子类,但List同样是一个接口需要子类来实现才能调用其中的方法。

/**
 *  List集合中常见的子类
 *  	ArrayList
 *  			使用的是数组数据结构,查询快,增删慢
 *  	LinkedList
 *  			使用的是数组链表数据结构,增删快,查询慢
 */
 /**
		 * 通过下标进行元素添加
		 */
		public static void addMethod() {
			List list = new ArrayList();
			list.add("洞庭湖");
			list.add("鄱阳湖");
			list.add("西湖");
			list.add(1, "龙子湖");
			System.out.println("list:"+list);
			
			List list2 = new ArrayList();
			list2.add("鸡公山");
			list2.add("灵山");
			list2.add("老君山");
			System.out.println("list2:"+list2);
			list.addAll(1,list2);
			System.out.println("添加后的集合:"+list);
		}
		/**
		 * 通过下标移除元素
		 */
		public static void removeMethod() {
			List  list =  new ArrayList();
			list.add("洞庭湖");
			list.add("鄱阳湖");
			list.add("西湖");
			System.out.println("list集合的元素:"+list);
			list.remove(1);
			System.out.println("list集合删除指定元素后:"+list);//这里的结果为 {洞庭湖 ,西湖}
			List list2 = new ArrayList();
			list2.add("鸡公山");
			list2.add("灵山");
			list2.add("西湖");
			list.removeAll(list2);
			System.out.println("移除与list2相同的元素:"+list);//{洞庭湖,鄱阳湖}
		}
		/**
		 * 获取指定下标对应的元素
		 * list.get(下标数);
		 */
		public static void getElementMethod() {
			
			//get(int index)
			List  list = new ArrayList();
			list.add("洞庭湖");
			list.add("鄱阳湖");
			list.add("西湖");
			System.out.println("指定下标对应的元素:"+list.get(2));
			
		}
		/**
		 * 在迭代的过程中修改集合中的元素
		 */
		public static void listlteratorMethod() {
			List  list = new ArrayList();
			list.add("洞庭湖");
			list.add("鄱阳湖");
			list.add("西湖");
			//获取迭代器
			ListIterator listlt = list.listIterator();
			int i = 0;
			while(listlt.hasNext()) {
				Object obj = listlt.next();
				if (i%2 != 0) {
							listlt.add("东"+ i + "湖");
				} else {
					listlt.set("西"+ i + "湖");
				}
				i++;
			}
			System.out.println("修改后的集合:" + list);
		}
		/**
		 * list集合中指针查找方向
		 * 
		 */
		
		public static void listlteratorMethod2() {
			List list = new ArrayList();
			list.add("洞庭湖");
			list.add("鄱阳湖");
			list.add("西湖");
			//获取迭代器
			ListIterator listlt = list.listIterator();
			System.out.println("下一个:"+ listlt.next());
			System.out.println("下一个:"+ listlt.next());
			System.out.println("下一个:"+ listlt.next());
			
			System.out.println("上一个:"+listlt.previous());
			System.out.println("上一个:"+listlt.previous());
			System.out.println("上一个:"+listlt.previous());
		}
}
/**
 * Collections是针对Collection集合提供的一个工具类
 * sort(List list)  对list集合进行排序(自然排序)
 * set集合不重复、TreeSet是默认就有自然排序的
 */
public class CollectionsDemo {
		public static void main(String[] args) {
			compareList();
		}
		public static void compareList() {
			List list = new ArrayList();
			list.add("baidu.com");
			list.add("aliyun.cn");
			list.add("taobao.com");
			list.add("yunhe.cn");
			System.out.println("未排序的集合:"+list);
			//对集合进行排序
			Collections.sort(list);
			System.out.println("排序后的集合:"+ list);
		}
		
}

`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值