泛型表示 E,K,V,T

集合框架1
    集合的概念
    集合的好处
    集合的层次结构
    
    集合的概念
        集合是一个包含一组对象的对象,也称为容器
        集合中的每一个对象叫集合的元素
        来自java.util包。
    集合的好处
        可以使用索引存储和获取值,效率高
        提供了编译时检查
        提供了比数组更丰富的功能
        注意
            集合是操作对象的,基本数据类型需要装箱与拆箱
            集合是泛型的
            集合体现了数据结构的特点,还提供了基于某些算法的类
    集合框架包含
        接口(设计好的大量)
        实现类
        算法类(典型的包含排序与查找)
        有一张层次结构图
    collection接口(根接口)
        方法分类:
        基本操作:size,isEmpty,contains,add,remove,iterator
        组操作:addAll,clear,containsAll,removeAll,retainAll
        聚合操作:stream,parallelStream
        数组操作:toArray
        比较操作:equals,hashCode
        
集合框架2
    遍历集合(三种方式),这是一个通用操作
    
    遍历是指一次访问集合中的所有元素
    三种方式:
        使用Iterator
        使用for-each循环
        使用forEach方法

package java_20180212_api_collections;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator; public class CollectionDemo { public static void main(String[] args) { Collection<String> c1=new ArrayList<>();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
c1.add("e");
Iterator<String> iter=c1.iterator();
while (iter.hasNext()) {
// System.out.println(iter.next());
iter.next();
// iter.remove();
}
System.out.println(c1.size());
System.out.println("===============");
for (String s : c1) {
//c1.remove(s)不能这样子用
System.out.println(s);
}
System.out.println("===============");
//传一个lambda表达式
// c1.forEach(s->System.out.println(s));
//传一个方法引用
c1.forEach(System.out::println);
}
}

集合框架3
    List接口
    ArrayList与LinkedList这两个类
    
    List接口
        存储有有序对象的集合
        可以有重复元素
        可以存储多个null
    两个广泛使用的子类
        ArrayList:以数组实现存储数据,可变长度的数组
        LinkedList:以链表实现存储数据

集合框架4
    Set接口与其子类HashSet,LinkedHashSet
    set子接口SortedSet接口与TreeSet子类

set接口特点
        保存不重复的元素
        顺序不能保证
        HashSet是最常用的子类
        LinkedHashSet是HashSet的子类,能维护顺序

最新文章

  1. Eclipse中.calsspath文件解析
  2. 在本地测试一次成功的AJAX请求
  3. addevent兼容函数 &amp;&amp; 阻止默认行为 &amp;&amp; 阻止传播
  4. The Beginner’s Guide to iptables, the Linux Firewall
  5. 关于jquery easyui treegrid的问题
  6. Android中对日期进行排序
  7. OC 和 swift 小结
  8. kettle Row Normaliser(行转列)
  9. Android SDK无法更新问题解决
  10. python学习总结笔记(一)
  11. 关于 redis 的 数据类型 和 内存模型
  12. Java第一次实训课
  13. 一文看懂显示关键材料之彩色滤光片(Color Filter)
  14. Oracle date timestamp 毫秒 - 时间函数总结(转)
  15. oracle 重建分区索引
  16. 使用gunicorn部署Flask项目
  17. [USACO5.1] 乐曲主题Musical Themes
  18. TP里where的查询方式,比如or应该怎么写?
  19. iOS之Sqlite3封装
  20. jquery选择器用法

热门文章

  1. 杭电ACM1007
  2. Delphi 对ini文件的操作
  3. 基本矩张量与strike.dip.rake的对应
  4. .NET复习笔记-泛型
  5. js循环出相同name,不同id的按钮,对其进行点击回复操作
  6. linux下怎么判断网卡速率?
  7. Python_文件处理
  8. ossfs 使用挂在到ecs -centos 6.8
  9. linux 路由表 的一些相关资料
  10. c#获取url请求的返回值