一、List集合
list集合是collection集合所特有的集合。
List集合代表一个元素有序,可重复的集合,集合中每个元素都有对应的顺序索引。List接口中增加了一些根据索引操作元素的方法:
void add(int index,E element ) 在列表的指定位置插入该元素。boolean addAll(int index,Collection c) 将集合c包含的所有元素都插入到List集合的index处。Object get(int index) 返回集合index索引出的元素。
1.ListIterator接口:
List额外提供的一个listIterator()方法,提供了专门操作List的方法。
ListIterator接口在Iterator的基础上增加了如下方法:
boolean hasPrevious(): 返回该迭代器关联的集合是否还有上一个元素。
Object previous(): 返回该迭代器的上一个元素。
void add((E e): 在指定位置插入一个元素。
list集合的用法:
//list集合的定义
List<String> list=new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
System.out.println(list);
//获取list集合中的位置在1的元素
System.out.println(list.get(1));
System.out.println("List集合的遍历");
// for(int i=0;i<list.size();i++){
// String s=list.get(i);
// System.out.println(s);
// }
//增强for循环 变量名.for
for (String s : list) {
System.out.println(s);
}
2.set
集合元素有序不重复,创建set集合 Set set = new HashSet();
循环遍历方法(3种):跟collection相同, 但不能使用ListIterator对象(不是List或它的实现 类),也不能用for循环遍历,没有下标和get方法
2.HashSet
去重的原理 :
根据元素的hashCode确定在集合中的位置,如果位置上不存在元素,则直接存入; 如果位置上存在数据,则调用equals方法进行比较。如果返回值是true, 则不存入新 的元素;如果返回值是false, 则存入新的元素
无序不重复:按照数据的hashCode的值进行存储上的排序,和存入的顺序无关
Set集合的用法:
// Set集合的定义
Set<String> set=new HashSet<>();
set.add("x");
set.add("y");
set.add("z");
set.add("x");
System.out.println(set);
System.out.println("Set集合的遍历");
//使用迭代器
Iterator<String> iterator=set.iterator();
//while循环
while (iterator.hasNext()){
String str=iterator.next();
System.out.println(str);
}
3.Map是什么?
Map是一个以键值对存储的接口
1、Map的三大特点:
a.包含键值对
b.键唯一
c.键对应的值唯一
Map集合的功能概述
a:添加功能
V put(K key,V value):添加元素。这个其实还有另一个功能?替换
如果键是第一次存储,就直接存储元素,返回null
如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
b:删除功能
void clear():移除所有的键值对元素
V remove(Object key):根据键删除键值对元素,并把值返回
c:判断功能
boolean containsKey(Object key):判断集合是否包含指定的键boolean containsValue(Object value):判断集合是否包含指定的值
boolean isEmpty():判断集合是否为空
d:获取功能
Set\u003CMap.Entry\u003CK,V>> entrySet(): 返回一个键值对的Set集合
V get(Object key):根据键获取值
Set keySet():获取集合中所有键的集合\nCollection values():获取集合中所有值的集合
e:长度功能
int size():返回集合中的键值对的对数
Map集合的用法:
//Map集合的定义
Map<String,Object> map=new HashMap<>();
map.put("name","张三");
map.put("age",18);
map.put("sex","男");
System.out.println(map);
System.out.println("Map遍历");
//定义KeySet找到map储存的数据
Set<String> keySet=map.keySet();
//使用迭代器
Iterator<String> ite=keySet.iterator();
//while循环
while (ite.hasNext()){
String key=ite.next();
Object value=map.keySet();
System.out.println(key+"---->"+value);