API集合框架

集合框架的作用:存储数据

集合框架中的2个顶层接口:Collection Map

Collection接口一次只能存储一个值

Map集合接口一次能存储2个值

由于Collection是接口,不能实例化,只能借助子类

Collection接口下有3个子接口:List Set queue

List接口:有序,可重复

Set接口:无序,唯一

ArrayList专用于查询操作

LinkedList:专用于增加,删除,修改

Vector:用于swing(窗体)中的数据处理。-线程是安全的。

Set接口下的子实现类 :HashSet|TreeSet

长度

//利用ArrayList集合类创建一个容器存储数据
ArrayList list = new ArrayList();
//1.获取集合长度
System.out.println(list.size());

添加数据

list.add(1);//转成Integer类型
list.add(true);
list.add(true);
list.add("刘凯峰");
//创建一个学生
Student stu = new Student("谢文建","女");
list.add(stu);
System.out.println(list.size());

查看数据

//查看数据:get  根据下标获取值  从0开始
System.out.println(list.get(1));

删除|移除

list.remove(stu);//根据元素值删除
System.out.println(list.size());
list.remove(0);//根据下标删除
System.out.println(list.size());

清空

// clear  清空集合中所有的数据
list.clear();
System.out.println(list.size());

是否包含

//contians
System.out.println(list.contains("sb"));

判断是否为空

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

集合的遍历方式

ArrayList list = new ArrayList();
list.add(1);//转成Integer类型
list.add(true);
list.add(true);
list.add("刘凯峰");
		//1.for
		for(int i = 0;i<list.size();i++) {
			System.out.println(list.get(i));
		}
		System.out.println("-----");
		//2.foreach
		for(Object obj : list) {
			System.out.println(obj);
		}
		//3.迭代器----集合框架中遍历元素的最常用的一种方式。
		// 调用方法将集合中的数据存放到迭代器容器中,通过迭代器容器提供特有的遍历方式。
		Iterator its =  list.iterator();
		while(its.hasNext()) {//its.hasNext() 如果迭代器容器中存在下一条数据
			//直接输出这条数据
			//获取当前的下一条数据  next();
			System.out.println(its.next());

集合框架的泛型使用

1.集合存储数据任何类型都可以(Object)

2.泛型目的:约束集合只能存储一种类型的数据

3.定义泛型在创建集合框架时进行定义

比如规定ArrayList存储数据时只能存储字符串

方法

ArrayList<String> list = new ArrayList<String>();
ArrayList<Student> list = new ArrayList<Student>();

.通过泛型定义集合 并且实现多态

List<String> list = new ArrayList<String>();
//list.add(1);//错误的 只能存储字符串类型的数据
list.add("中国");
list.add("-_-");

自定义泛型

//创建一个学生类(某种情况下  学号:int)(某种情况下  学号:String)
Stu<String> stu = new Stu<String>();
stu.sid = "111";
//Set  无序   唯一		
Set set = new HashSet();
set.add("123");
set.add("123");
set.add("sb");
set.add("sb2");
set.add("nb");
set.add("123");
set.add("123");
System.out.println(set.size());
for (Object object : set) {
System.out.println(object);
}
		

上一篇:高薪程序员&面试题精讲系列33之说说ArrayList与LinkedList的区别、ArrayList与Vector的区别


下一篇:有限制条件的通配符的使用 [Java]