ArrayList
特点:数据排列:有序 数据重复性:可重复
- 创建list对象: ArrayList list = new ArrayList();
- 添加数据:list.add(...)
- 取出数据:list.get(...)
//通过索引来获取数据
- 移除数据:remove(...)
//通过索引来获取数据
- 获取list集合的大小:size()
- 其他API:
- isEmpty(...):判断空函数
- contains(...):判断是否包含某数据
- set(...):通过索引修改某个位置
- indexOf(..):查看某一个值的索引位置
迭代方式
方式一:通过for循环,遍历
for(String s:list){
System.out.println(s);
}
方式二:通过函数iterator(),返回一个迭代器
Iterator<String>iterator=list.iterator();//string需要和集合数据类型保持一致
while (iterator.hasNext()){
String ele=iterator.next();
System.out.print(ele);
}
Set
容器支持的数据类型:引用类型
特点: 无序、不可重复
- 创建对象:HashSet<String> set=new HashSet<String>();
- 添加数据:set.add("hello");
- 删除数据:remove(.......);
- 其他api
- toArray():将集合转换为对应数据类型的数组
- clear();将集合里的所有数据清空
- isEmpty(); 判断空函数
- contains();判断是否包含某数据
- size();获取集合的大小
迭代方式
通过获取迭代器来迭代数据(Hash是无序的,所以并不支持根据索引取数据):
Iterator<String> iterator=set.iterator();
while(iterator.hasNext()){
String ele= iterator.next();
System.out.println(ele);
}
Map
特点:以键值对的形式来保存数据,键和值支持的数据类型:引用类型
键值不可以重复,重复时,后面的键值对覆盖前者
- 添加数据:map.put("name", "zhangsan");
- 取值:map.get("name")
- 移除:map.remove("name")
- 获取所有的键:map.keySet()
返回Set类型
- 获取所有的值:map.values()
values返回的类型是Collection
- 其他api
- size():判断大小
- isEmpty():判断是否为空
- containsKey(...):判断是否包含此key值
- containValue(...) :判断是否包含value值
迭代方式:
方式一:
Set<?> keys = map.keySet();
for (Object key : keys) {
Object value = map.get(key);
System.out.println("key ="+key + ",value = "+value);
}
方式二:
Set<Map.Entry<String,Object>> entries = map.entrySet();
for (Map.Entry<String, Object> entry : entries) {
System.out.println("key="+entry.getKey()+",value="+entry.getValue());
}