一.集合体系包括单列集合(Collection)与多列集合(Map);
Colection包括List(有序,可重复,有索引)与Set(无序,不重复,无索引);
List实现类包括ArrayList,
LinkedList,
Vector;
Set实现类包括TreeSet,
HashSet,
LinkedHashSet;
Collection接口里面的常用方法:
boolean add(E e) ;增
void clear() ;清理所有
boolean remove(E e); 删除指定
boolean contains(E e); 判断包含//依赖equals
int size() ; 获取长度
List 集合里面增加的方法: /* 多了下标表示 */
void add(int index,E e);//增
E remove(int index); //删
E set(int index,E e);//改
E get(int index);//查
LinkList集合新增方法:
void addFirst(E e);增
void addLast(E e);
E getFirst();//查
E getLast();
E removeFirst();//改
E removeLast();
Map双列集合包括Hashtable,
HashMap,
LinkedHashMap,
TreeMap.
Map接口的方法:
V put(K key, V value);//增加(返回null)或者覆盖(返回被覆盖值)
V remove(Object key);//删
void clear();//清空
boolean containskey(Object key);
boolean containsValue(Object value);
boolean isEmpty();
int size();//键值对个数
V get(K key);//通过键获取值
二.遍历方式:
Collection遍历方式:
1.迭代器:Iterator;
2.增强for;
3.foreach();// lambda表达式
Map遍历方式:
1.通过键找值:获取所有key创建单列集合(.keySet()),for遍历key(.get(K key));
2.通过键值对形式:Set<Map.Entry<K,V>> entries=map.entrySet();然后增强for遍历键值对(.get)
3.forEach((K key,V, value)->{ ...}) lambda表达式
三.Stream流
1.Stream调用:
~单列集合直接.stream()方法;~数组:Arrays.stream( arr);~零散数据用Stream.of( T... values).
2.Stream中间方法:
filter(s->{return 式子;}) 过滤//如果式子为true则s会留下
limit (int) 获取前几个元素
skip(int) 跳过前几个元素
distinct() 元素去重//依赖HashCode和equals方法
concat(stream1,stream2) 合并多流
map(s->{... return ...}) 转换流中数据类型
3.stream流终结方法:
forEach(s->{}); 遍历
long count() 统计
Object[] toArray()&toArray(value->new String[value]) 收集于指定类型的数组中
Collect( Collector.toList()/toSet()/toMap( new Function(old,new),new Function() ) )