泛型表示 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_集合框架的更多相关文章

  1. 一起学 Java(三) 集合框架、数据结构、泛型

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  2. 【目录】JUC集合框架目录

    JUC集合框架的目录整理如下: 1. [JUC]JUC集合框架综述 2. [JUC]JDK1.8源码分析之ConcurrentHashMap(一) 3. [JUC]JDK1.8源码分析之Concurr ...

  3. java面试题——集合框架

    先来看一下集合框架关系图 Collection FrameWork 如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └S ...

  4. Java使用实现面向对象编程:第七章集合框架的解读=>重中之重

    对于集合框架,是非常重要的知识,是程序员必须要知道的知识点. 但是我们为什么要引入集合框架呢? 我们之前用过数组存储数据,但是采用数组存储存在了很多的缺陷.而现在我们引用了集合框架,可以完全弥补了数组 ...

  5. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  6. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...

  7. Java 之 集合框架(JCF)

    1.集合框架 a.框架:为了实现某一目的或功能,而预先提供的一系列封装好的.具有继承或实现关系的类与集合 b.集合:①定义:Java中对一些数据结构和算法进行封装,即封装(集合也是一种对象) ②特点: ...

  8. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  9. 【集合框架】JDK1.8源码分析之Comparable && Comparator(九)

    一.前言 在Java集合框架里面,各种集合的操作很大程度上都离不开Comparable和Comparator,虽然它们与集合没有显示的关系,但是它们只有在集合里面的时候才能发挥最大的威力.下面是开始我 ...

随机推荐

  1. Visual C++没事别启用/Za编译选项

    Visual C++对于C++标准的支持不是很完善好像是钦定了的.MS还特意在这里说了些非标准行为[1]以及扩展行为[2].这就不可避免地会让处女座程序猿感到难受(我不是处女座).所以,经过一番goo ...

  2. 待实验的socketserver

    # -*- coding:utf-8 -*-# Author: Dennis Huang__Author__ = "Dennis" import socketserver clas ...

  3. 如何将plist大图拆分成原来的小图

    我们一般为了提升性能和减少包体,大多会使用textpackture将图片打包成大图,有时候我们也需要查看它的原来小图,但是没有原图,这时候我们就可以使用cocos的工具,cocos studio. 预 ...

  4. MNIST机器学习进阶

    # -*- coding: utf-8 -*-"""Created on Wed Oct 17 08:49:28 2018 @author: Administrator& ...

  5. 【转】Android-Input 触控笔

    https://source.android.com/devices/accessories/stylus 触控笔 Android 6.0 及更高版本支持蓝牙 (BT).蓝牙低功耗 (BTLE) 或 ...

  6. 基于Java Instrument的Agent实现

    使用 Instrumentation,使得开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义.有了这样的功能,开发者就可以 ...

  7. Javascript 数组相关操作

    数组排序问题: sort() arr.sort() 可以直接进行排序,但是排序的方式是按unicode 顺序而来,比如1,1000,200,这个顺序不是我们想要的结果: 所以有了另一种方法,针对num ...

  8. docker查看挂载目录Volume

    使用docker inspect命令查看container的volume信息,按照书本上面敲,发现一直报错: 使用命令如下: sudo docker inspect --format "{{ ...

  9. java实现截图功能

    package Jietu; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import j ...

  10. 《Pro SQL Server Internals, 2nd edition》15w

    第三章 统计 SQL Server查询优化器在为查询选择执行计划时使用基于成本的模型.它估计不同执行计划的成本,并选择成本最低的一个.但是,请记住,SQL Server并不搜索可用于查询的最佳执行计划 ...