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的子类,能维护顺序
java8_api_集合框架的更多相关文章
- 一起学 Java(三) 集合框架、数据结构、泛型
一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...
- 【目录】JUC集合框架目录
JUC集合框架的目录整理如下: 1. [JUC]JUC集合框架综述 2. [JUC]JDK1.8源码分析之ConcurrentHashMap(一) 3. [JUC]JDK1.8源码分析之Concurr ...
- java面试题——集合框架
先来看一下集合框架关系图 Collection FrameWork 如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └S ...
- Java使用实现面向对象编程:第七章集合框架的解读=>重中之重
对于集合框架,是非常重要的知识,是程序员必须要知道的知识点. 但是我们为什么要引入集合框架呢? 我们之前用过数组存储数据,但是采用数组存储存在了很多的缺陷.而现在我们引用了集合框架,可以完全弥补了数组 ...
- Java集合框架List,Map,Set等全面介绍
Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
- Java 之 集合框架(JCF)
1.集合框架 a.框架:为了实现某一目的或功能,而预先提供的一系列封装好的.具有继承或实现关系的类与集合 b.集合:①定义:Java中对一些数据结构和算法进行封装,即封装(集合也是一种对象) ②特点: ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- 【集合框架】JDK1.8源码分析之Comparable && Comparator(九)
一.前言 在Java集合框架里面,各种集合的操作很大程度上都离不开Comparable和Comparator,虽然它们与集合没有显示的关系,但是它们只有在集合里面的时候才能发挥最大的威力.下面是开始我 ...
随机推荐
- 声明一个set集合,使用HashSet类,来保存十个字符串信息,然后通过这个集合,然后使用iterator()方法,得到一个迭代器,遍历所有的集合中所有的字符串;然后拿出所有的字符串拼接到一个StringBuffer对象中,然后输出它的长度和具体内容; 验证集合的remove()、size()、contains()、isEmpty()等
package com.lanxi.demo1_3; import java.util.HashSet; import java.util.Iterator; import java.util.Set ...
- 2D 加速图形界面开发源代码亲写 想买来学习得加qq 313244484 20万当前代码,完整400万包写完
#include "StdAfx.h" #include "GUIFrame.h" #include <stdlib.h> #include < ...
- 图数据库Neo4j
官网下载:https://neo4j.com/download/ 图数据库Neo4j入门:https://blog.csdn.net/gobitan/article/details/68929118 ...
- like 内容转义
如题,当SQL语句中使用Like查询,且期望匹配的结果中含有"\"的,应当把"\"替换为"\\\\". 比如数据库中text字段有以下三行: ...
- 认识Python 列表和元组
列表用方括号 l=[['xyz',123], 'abc', 3140000000.0, (23+1.3j), 'ddd'] 元组用圆括号 t=(['xyz', 123],'abc', 3140 ...
- 入门项目 A6 lib common 登陆状态装饰
# 用户认证装饰器 def auth(func): from core import src def inner(*args, **kwargs): # 调用被装饰函数前需要做的操作 if src.u ...
- WEB学习笔记13-高可读性的HTML之精简HTML代码/过时的块状元素和行内元素
<a id="more-intro">点击此处 <img src="down-arrow.png" /></a> (1)删除 ...
- 获取Xcode工程所有的类名
有的时候在需求中需要获取工程中所有的类名.例如在获取工程中继承某个类的列表. 核心代码如下: unsigned ; const char **classes = nil; Dl_info info; ...
- i3wm菜单
抛弃i3-dmenu-desktop吧,投入到 j4-demu-desktop 速度超快
- Oracle KEEP 分析函数
Oracle中为了解决子集合中查询最值的问题,提出了KEEP()语法. 典型案列如:在每个部门中找出年龄最小的人中的最高工资. 基本语法结构: MAX(COL2) KEEP (DENSE_RANK F ...