集合框架

原创 2018年04月16日 19:58:54
1:父接口Collection
   常用方法:
  add(Object e):增加元素
  remove(Object obj)
  addAll(Collection c):两个集合合并
  removeAll(Collection c):移除交集
  retainAll(Collection c):保留交集
  clear():清空集合
  isEmpty():判断是否是空
  size():返回集合元素的个数。
  toArray():将集合对象转换成数组
2:List子接口----线性表
  常用的实现类:
  ArrayList:
       是线性结构内部封装的是动态的数组。长度的增加和减少已经被封装。
       可以理解为自动的。 
              查找快,增删慢
              线程不安全,效率高
  LinkedList:
      是链表结构。一个元素里存了前一个元素的地址和后一个元素的地址。
                           连到一起很像一链条。
              增加删除快,查找慢            
  Vector: 线程安全,效率低。
    List接口提供的方法:
     add(int index,Object obj):插入元素
     get(int index):获取元素
     remove(int index)
     indexOf(Object obj):返回元素的下标,返回-1说明没有此元素
     lastIndexOf(Object obj):
     contains(Object obj):判断是否包含元素obj
3:增强for循环,作用是用来遍历集合或者是数组。
    是迭代的另外一种写法,不是新语言。
     编译器会将此循环编译成迭代写法。
   结构:
   for(元素类型  变量名:集合或数组的变量){
      
   } 
4:泛型机制。
  4.1:泛型机制的本质是参数化类型。在类,接口和方法的
              定义过程中,可以进行指定参数类型名。
        
         在集合框架中,所有的集合类型都使用泛型机制。 
         好处是在进行参数化类型后,就可以限制集合元素
         的类型,编译器会通过指定的泛型进行检查。
         减少代码在运行时的错误。
    public class ArrayList<E>{
    ………………
        public boolean add(E e);
        public E get(int index);
        ………………
    } 
    ArrayList使用泛型机制,E就是类型参数。
       在具体使用时,得给E赋值,赋的值是类型名。
   List<String>  list = new ArrayList<String>();


   泛型机制不能使用八大基本数据类型


 5:集合的存储:
      集合元素都是引用类型。集合对象内存的是元素的地址信息,
      不是元素本身。
 6:集合工具类:Collections(注意与Collection的区别)
       里面提供了常用的方法,其中就有sort(),用来给集合排序。
    既然能使用sort对集合进行排序,说明元素之间是可以比较大
    小的。 能使用sort进行排序的元素类型必须实现comparable
    接口,必须重写接口里的compareTo(Object obj)方法,
  这个方法就是用来进行元素之间的比较的 。
   this>obj,返回>0的数。
   this<obj,返回<0的数
   this=obj,返回0
   
   Comparable---compareTo(Object a)

   Comparator---compare(Object a,Object b)

7.常用方法
   subList(int fromIndex,int toIndex);
       作用:是获取集合的子集合。
8.Comparable与Comparator的作用与区别
     都是用来排序的:
   Comparable是元素类型必须实现的接口。必须重写
   compareTo(Object obj)方法。调用sort(p1)方法
   return this-obj  ---升序
   return obj-this ----降序
   
   
   Comparator是再原有排序规则上,临时改变排序规则时,
      使用的比较器接口。必须实现compare(Object o1,Object o2),
      临时改变规则时,调用集合的sort(p1,p2)方法
   return p1-p2 ----升序
   return p2-p1 ----降序
9.队列Queue:
      是一个接口,数据结构是只能一端进,一端出(FIFO).
   LinkedList就实现了此接口(为什么不用ArrayList
     实现此接口呢?因为队列这种数据结构经常发生增删操作,
   LinkedList在增删效率上特别快)。
      常用方法:
   offer(E e):表示进入队列
   poll():表示从队首出队列,返回的就是出来的元素
   peek():查看队首元素,返回的就是队首元素
10.双端队列Deque接口,是队列Queue的子接口。
      每一端都可进可出。
11.双端队列把一端封闭(不使用),只用另一端来进行增删元素。
     就是栈的数据结构了(FILO)
     使用push(E e):

Python全栈工程师-第1周

Python全栈工程师-第1周
  • 2017年09月15日 17:29

集合框架--集合框架体系概述

集合框架体系主要如上图所示,集合类主要分为两大类:Collection和Map。 先简单概述几个相关问题。 1、先说明下什么是集合?       当数据多了需要存储,需要容器,但是数据的个数又不确定的...
  • wunian_930124
  • wunian_930124
  • 2017-03-09 09:42:56
  • 3655

【集合】Java集合框架介绍

文章来源:http://blog.csdn.net/ylyg050518/article/details/48683303 集合框架介绍   Java集合工具包位于Java.util包下,...
  • Spixii
  • Spixii
  • 2016-09-02 08:27:00
  • 3989

集合框架之Collection集合

今天下午花了近三个小时写了这篇博文。给大家来重点学习和介绍一下JavaSE中很重要的一块知识:Java集合框架,我们也称之为Java集合类。什么是Java的集合框架呢?为什么要使用Java集合?使用J...
  • qian_ch
  • qian_ch
  • 2017-01-24 20:27:58
  • 419

JAVA常用集合框架用法详解——提高篇

这篇文章是我对集合框架的升华总结。文章中没有提到各个集合子类的最基本的操作和方法。想要知道这部分的内容,可以查看我的一篇基础知识的博客--Java集合框架总结基础篇http://blog.csdn.n...
  • LULEI1217
  • LULEI1217
  • 2016-02-25 16:04:34
  • 1928

Java 集合框架分析:线程安全的集合

说明:同步集合是说它的操作是同步的,(mutative operations :add, set, and so on),但是它的组合操作的同步性要自己控制。线程安全的集合什么是线程安全在多线程环境下...
  • youyou1543724847
  • youyou1543724847
  • 2016-10-04 18:44:19
  • 1390

集合框架_泛型概述和基本使用

package cn.itcast_01; import java.util.ArrayList; import java.util.Iterator; /* * ArrayList存储字符串并...
  • L1585931143
  • L1585931143
  • 2016-12-24 01:20:47
  • 299

Java集合框架问题总结

1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1...
  • wy5612087
  • wy5612087
  • 2015-08-27 14:27:59
  • 1279

集合框架和泛型框架

一丶基本概念 一、集合框架概述         1、集合类的出现:面向对象语言对事物的体现的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式...
  • DT235201314
  • DT235201314
  • 2016-07-30 21:43:23
  • 1098

深入理解Java之集合框架

1. 概述     Java集合框架由Java类库的一系列接口、抽象类以及具体实现类组成。我们这里所说的集合就是把一组对象组织到一起,然后再根据不同的需求操纵这些数据。集合类型就是容纳这些对象的一个容...
  • zzz0001
  • zzz0001
  • 2016-03-20 17:05:11
  • 2657
收藏助手
不良信息举报
您举报文章:集合框架
举报原因:
原因补充:

(最多只允许输入30个字)