黑马程序员技术交流社区

标题: 【太原校区】java基础之集合 [打印本页]

作者: 爱学习的翟    时间: 2019-6-23 15:12
标题: 【太原校区】java基础之集合
集合可以说是java中最常用类,学好集合对后续学习java事半功倍。
集合分为  单列集合(顶级接口Collection)和双列集合(顶级接口Map);
Collection没有具体的实现,有List和 Set两个子接口
List特点:
List主要的实现类有ArrayList、LinkedList和Vector(了解)
List三种遍历方式(以ArrayList举例)
先插入元素
List<T> list= new ArrayList<>();
list.add(t1);
list.add(t2);
list.add(t3);
迭代器遍历
Iterator<T> iterator = list.iterator();
while(iterator.hasNext()){
    T t = iterator.next();
}
普通for循环(因为List有索引所以可以使用get(索引)来获取元素)
for (int i = 0; i < list.size(); i++) {
    T t=list.get(i);
}
增强for循环(底层原理还是迭代器)
for (T t : list) {
    //t就是我们 每次遍历到的元素;
}Set特点
Set 的主要的实现类有HashSet、LinkedHashSet、TreeSet
          底层数据结构是哈希表,对集合的迭代顺序不作任何保证,不保证存储和取出的元素顺序一致,没有带索引的方法,不包含重复元素的集合
           哈希表和链表实现的Set接口,具有可预测的迭代次序,由链表保证元素有序,没有重复的元素
           底层是红黑树,元素有序,不包含重复元素的集合
Set集合的两种遍历方式(以hashSet举例)
添加元素
Set<T> set= new HashSet<>();
set.add(t1);
set.add(t2);
set.add(t3);
迭代器遍历
Iterator<T> iterator = set.iterator();
while(iterator.hasNext()){
    T t = iterator.next();
}

增强for循环
for(T t:set){
//t就是我们遍历到的每一个元素
}
Map集合的特点
Map我们常用的实现类是HashMap
Map的两种遍历方式
插入元素
Map<K,V> map= new HashMap<>();
map.put(k1,v1);
map.put(k2,v2);
map.put(k3,v3);
通过键找值方式(遍历set使用增强for)
Set<K> keys=map.getKeys();
for(K k:keys){
V v= map.get(k);
//k是我们遍历到的每个键,v是我们通过map.get(K)找到的值
}
通过键值对集合遍历
Set<Map.Entry<K,V>>  entries= map.getEntrySet();
for(Map.Entry<K,V>  entry: entries){
K k= entry.getKey();
V v= entry.getValue();
//entry是我们每一个键值对组合,通过getKey找到k,getValue()得到v;
}
以上是我们集合中最重要的 知识;
最后再说一下泛型








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2