1. 什么是集合类?
作用是什么?
集合类的作用是可以存放一组数据的容器。
特征:
集合存放的信息数据类型可以不同
只能存放引入类型的数据;
集合类的大小是可变的。
往集合类对象中存放引用类型的数据时,引用类型的数据类型会被隐藏。
解释:比如说集合类对象中存放一组学生信息(Student)。
在真正存放的过程中,把Student对象转换为Object进行存放。
2. 集合类分类
Set集合 list集合 map集合
在java中所有集合类,都来看于java.util.*,说明一些容器类。
3. Set集合类(属于Collection的子类)
Set集合类的容器如何使用?创建容器、向容器添加信息,从容器中获取信息,删除容器中存放的信息。
/**
*@paramargs
*/
publicstaticvoid main(String[] args) {
//创建容器
Set strSet = new HashSet();
//向容器添加信息
strSet.add("a");
strSet.add("b");
strSet.add("c");
strSet.add("c");
System.out.println(strSet.size());
//从容器中删除信息
strSet.remove("a");
System.out.println(strSet.size());
//获取容器中存储的信息
//遍历set中信息,需要使用Iterator接口。(遍历器)
Iterator setItr = strSet.iterator();
//两个方法 hasNext和next
while(setItr.hasNext()){
System.out.println(setItr.next());
}
}
4. List(属于Collection的子类)
List使用:创建容器,向容器中添加信息,删除信息,获取信息
//创建容器
List strList = new ArrayList();
//存放信息(list会存放下标信息)
strList.add("张三");
strList.add(0, "李四");
strList.add("王五");
//获取信息
System.out.println(strList.get(0));
//删除信息
strList.remove(0);
//循环遍历list集合中存放信息
for(int i=0;i<strList.size();i++){
System.out.println(strList.get(i));
}
for(Object temp:strList){
System.out.println(temp);
}
//创建容器
List strList02 = new LinkedList();
//额外加了几个方法,比如:
/* void addFirst(E o)
void addLast(E o)
E getFirst()
E getLast()*/
5. Map
1:同时放两个值key=value. > key和value都是对象类型,只是我们习惯上使用<String,Object>
2:key值不能重复,如果有重复后面的值会覆盖前面的值。
3:value值可以重复。
4:获取值时可以通过指定key的方式来获取值,map.get(key) = value
5:不排序。可以实现一个TreeMap实现根据Key进行的排序。
6:map中的每一个key=value都叫一个实体。Map.Entry
7:map集不是Collection的子类。
publicstaticvoid main(String[] args) {
//创建容器
Map mapDemo = new HashMap();
//往容器中存放数据
mapDemo.put("张三", 4500);
mapDemo.put("李四", 3500);
mapDemo.put("王五", 3000);
//从容器中删除信息
mapDemo.remove("王五");
mapDemo.put("王五", 3000);
//获取容器里面的信息
System.out.println(mapDemo.get("王五"));
//遍历容器中的所有信息
//把map中存放的一组键值对,存放set集合类(Map.Entry)中。
Set entryDemo = mapDemo.entrySet();
//遍历上面的set即可
Iterator setItr = entryDemo.iterator();
//两个方法 hasNext和next
while(setItr.hasNext()){
Map.Entry temp = (Map.Entry)setItr.next();
System.out.println(temp.getKey()+":"+temp.getValue());
}
}
6. Iterator接口(遍历器),迭代集合对象里面存放的信息
hasNext()和next()方法
7. 泛型:
集合类有个特点:
往集合类对象中存放引用类型的数据时,引用类型的数据类型会被隐藏。
解释:比如说集合类对象中存放一组学生信息(Student)。
在真正存放的过程中,把Student对象转换为Object进行存放。
泛型如何用?解决了上面提到的问题
集合类型<存放的数据类型>