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