Java_110_容器_Collection_List,Set_常用方法

package Test;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 容器中使用泛型
 * 容器相关类都定义了泛型,我们在开发和工作中,在使用容器类时都要
 * 使用泛型。这样,在容器的存储数据,读取数据时都避免了大量的类型
 * 判断,非常便捷。
 * 
 * 源码:
 * Collection
 * public interface List<E>{}
 * 
 * Set
 * public interface Set<E>{}
 * 
 * Map
 * Public interface Map<K,V>{}
 * 
 * public interface Collection<E> extends Iterable<E>{}
 * 
 * public interface Iterator<E>{}
 * 
 * 接口都定义了泛型,因此我们在使用这些接口及其实现类时,都要使用泛型。
 * **********************************************************
 * Collection接口
 * Collection表示一组对象,它是集中,收集的意思,Collection接口的两个
 * 子接口是List、Set接口
 * boolean add(Object element) 增加元素到容器中
 * boolean remove(Object element) 从容器中移除元素
 * boolean contains(Object element) 容器中是否包含该元素
 * int size() 容器中元素的数量
 * boolean isEmpty() 容器是否为空
 * void clear() 清空容器中所有元素
 * Iterator Iterator() 获得迭代器,用于遍历所有元素
 * boolean containsAll(Collection c) 本容器是否包含c容器中的所有元素
 * boolean addAll(Collection c) 将容器c中所有元素增加到本容器
 * boolean removeAll(Collection c)溢出本容器和容器c都包含的元素
 * boolean retainAll(Collection c)取本容器和容器c中都包含的元素,移除非交集元素
 * Object[] toArray() 转化成Object数组
 * @author pmc
 *
 */
public class GenericTest2 {
	public static void main(String[] args) {
		List list=new ArrayList();
		Map map=new HashMap<>();
		
		Collection<String> cl=new ArrayList<String>();
		System.out.println(cl.size());
		System.out.println(cl.isEmpty());
		cl.add("a");
		cl.add("b");
		System.out.println(cl);
		System.out.println(cl.size());
		cl.remove("a");//移除不是删除
		System.out.println(cl);
		Object[] obj=cl.toArray();//转Object数组
		System.out.println(obj);

	}
}

List->ArrayList 有序,可重复

测试集合,索引

package Test;
/**
 * List是有序、可重复的容器。
 * 有序:List中每个元素都有索引标记。可以根据元素的索引标记(在
 * List中的位置)访问元素,从而精确控制这些元素。
 * 可重复:List允许加入重复的元素。更确切的讲,List通常允许满足
 * e1.equals(e2)返回[true]的元素重复加入容器。
 * 
 * List接口常用的实现类有3个:ArrayList(数组)、LinkedList(列表)和Vector(线程安全数组)
 *
 * ArrayList底层是用数组实现的存储。特点:*查询效率高*,增删效率低,线程不安全。我们一般使用它。
 * 涉及频繁增删使用LinkedList列表
 * 涉及线程安全使用Vector
 * 
 * 数组长度是有限的,而ArrayList是可以存放任意数量的对象,长度不受限制。
 * 
 */
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class ListTest {
	public static void main(String[] args){
		test01();
		test02();
	}
	//List集合操作
	public static void test01(){
//		Set<String> set=new HashSet<String>();
		List<String> list01=new ArrayList<String>();
		list01.add("aa");
		list01.add("bb");
		list01.add("cc");
		
		List<String> list02=new ArrayList<String>();
		list02.add("aa");
		list02.add("dd");
		list02.add("ee");
		
		System.out.println("list01:"+list01);
		
//		list01.addAll(list02);
//		
//		System.out.println("list01:"+list01);
		
		list01.removeAll(list02);
		
		System.out.println("list01:"+list01);
		
		System.out.println(list01.contains(list02));
	}
	//List索引
	public static void test02(){
		List<String> list=new ArrayList<String>();
		list.add("A");
		list.add("B");
		list.add("C");
		list.add("D");
		list.add("C");
		System.out.println(list);
		list.add("李四");
		System.out.println(list);
		list.remove(0);
		System.out.println(list);
		list.add(0, "王五");
		System.out.println(list);
		list.set(0, "宋六");
		System.out.println(list);
		System.out.println(list.get(1));
		System.out.println(list.indexOf("C"));//第一次出现的索引位置
		System.out.println(list.lastIndexOf("C"));//最后一次出现的索引位置
	}

}


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_Pmc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值