1. package 集合;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collection;
  5.  
  6. /**
  7. * 集合和数组的区别:
  8. * 1、长度
  9. * 数组长度固定
  10. * 集合长度不定
  11. * 2、内容不同
  12. * 数组存储的是同一种元素
  13. * 集合可以存储不同类型的元素
  14. * 3、存储类型
  15. * 数组可以存储基本类型数据,也可以存储引用数据类型
  16. * 集合只能存储引用类型
  17. *
  18. * 结构图
  19. * ArrayList
  20. * List Vector
  21. * LinkedList
  22. * Collection
  23. * HashSet
  24. * Set
  25. * TreeSet
  26. * Collection功能概述:
  27. * 1、添加
  28. * add(Object o) addAll(Collection c)
  29. * 2、删除
  30. * clear() 移除所有元素
  31. * remove(Object o)
  32. * removeAll(Collection c)
  33. * 3、修改
  34. * 4、获取
  35. * Iterator<E> iterator()
  36. * 5、长度
  37. * int size()
  38. * 6、判断
  39. * contains(Object o) containAll(Collection c) imEmpty()
  40. * 7、retainAll(Collection c) 两个集合都有的元素
  41.  
  42. */
  43. /**
  44. * 迭代器遍历
  45. * Iterator it = c.iterator(); //返回的肯定是子类对象,这里是多态
  46. * it.next(); //移动到下一个 不要在一个语句中多次调用next方法,
  47. * 因为对象会变
  48. * it.hasNext() //判断是不是有下一个对象
  49. * 迭代器遍历元素的时候,通过集合是不能修改元素的
  50. * 解决办法:
  51. * 1.迭代器迭代元素,迭代器修改元素 it.add()
  52. * 2.集合遍历元素,集合修改元素(for)
  53. *
  54. */
  55.  
  56. /**
  57. * List特点:
  58. * 1.与set不同,允许重复元素。可根据索引获取对象
  59. * 2.有序的collection,
  60. * 3.特有功能:
  61. * 1.添加功能 add(int index , object element) 在指定位置添加元素
  62. * 2.获取功能 get(int index) //获取指定位置的元素
  63. * 3.列表迭代器 ListIterator listIterator() List集合特有的迭代器
  64. * 4.删除功能 remove(int index) 根据索引删除元素,返回被删除的元素
  65. * 5.修改功能 set(int index,Object element) 返回被修改的元素
  66. */
  67. /**
  68. * List的子类特点:
  69. * ArrayList:
  70. * 底层数据结构是数组,查询快,增删慢
  71. * 线程不安全,效率高
  72. * Vector: //一般不同
  73. * 底层数据结构是数组,查询快,增删慢
  74. * 线程安全,效率低
  75. * LinkedList:
  76. * 底层数据结构是链表,查询慢,增删慢。
  77. * 线程不安全,效率高。
  78. * 常见数据结构
  79. * 栈 先进后出
  80. * 队列 先进先出
  81. * 数组 查询慢,增删快
  82. * 链表 查询慢,增删快
  83. *
  84. */
  85. public class 集合List {
  86. public static void main(String[] args) {
  87. //创建集合对象
  88. Collection c = new ArrayList();
  89. }
  90. }

Jvav Collection-List的更多相关文章

  1. Java基础Collection集合

    1.Collection是所有集合的父类,在JDK1.5之后又加入了Iterable超级类(可以不用了解) 2.学习集合从Collection开始,所有集合都继承了他的方法 集合结构如图:

  2. Collection集合

    一些关于集合内部算法可以查阅这篇文章<容器类总结>. (Abstract+) Collection 子类:List,Queue,Set 增: add(E):boolean addAll(C ...

  3. iOS之解决崩溃Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.

    崩溃提示:Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <CAL ...

  4. [Java Collection]List分组之简单应用.

    前言 今天有一个新需求, 是对一个List进行分组, 于是便百度到一些可用的代码以及我们项目使用的一些tools, 在这里总结下方便以后查阅. 一: 需求 现在我们一个数据库表t_series_val ...

  5. Java Collection开发技巧

    Java Collection(集合) 集合中的一些技巧: 通过Collections类的静态方法,可以对集合进行一些操作 1 java.util.List<Integer> number ...

  6. 浅谈Collection集合

    俗话说:一个东西,一件事都离不开三句话:"是什么,为什么,怎么办" 集合是什么: 集合简单的说一个数组集合的高级体现,用来存储数据或对象的容器: 集合为什么存在: 集合只是体现了对 ...

  7. Backbone中的model和collection在做save或者create操作时, 如何选择用POST还是PUT方法 ?

    Model和Collection和后台的WEB server进行数据同步非常方便, 都只需要在实行里面添加一url就可以了,backbone会在model进行save或者collection进行cre ...

  8. Collection和Collections的区别?

    Collection 是接口(Interface),是集合类的上层接口. Collections是类(Class),集合操作的工具类,服务于Collection框架.它是一个算法类,提供一系列静态方法 ...

  9. Unity性能优化(3)-官方教程Optimizing garbage collection in Unity games翻译

    本文是Unity官方教程,性能优化系列的第三篇<Optimizing garbage collection in Unity games>的翻译. 相关文章: Unity性能优化(1)-官 ...

  10. MyBatis中collection (一对一,一对多)

    MyBatis学习:http://www.mybatis.org/mybatis-3/zh/index.html 大对象InsuranceDetailsVO: com.quicksure.mobile ...

随机推荐

  1. c++实验2 顺序存储线性表

    线性表顺序存储 实现了动态数组的增删改查  前驱后继  A=AUB 动态数组右移 (1)顺序表存储结构的定义(类的声明): class SeqList { protected: DataType *l ...

  2. 【bzoj4007】[JLOI2015]战争调度 暴力+树形dp

    Description 脸哥最近来到了一个神奇的王国,王国里的公民每个公民有两个下属或者没有下属,这种 关系刚好组成一个 n 层的完全二叉树.公民 i 的下属是 2 * i 和 2 * i +1.最下 ...

  3. JDK1.8源码阅读系列之二:LinkedList

    本篇随笔主要描述的是我阅读 LinkedList 源码期间的对于 LinkedList 的一些实现上的个人理解,有不对的地方,请指出- 先来看一下 LinkedList 的继承图: 由于 Abstra ...

  4. SDUT OJ 顺序表应用3:元素位置互换之移位算法

    顺序表应用3:元素位置互换之移位算法 Time Limit: 1000 ms Memory Limit: 570 KiB Submit Statistic Discuss Problem Descri ...

  5. python之文件读写(1)

    1. 从文件读取数据 关于对文件的操作,使用open(filename, mode),打开文件.与之对应的,close()用来关闭文件.对文件操作完毕切记要关闭. open函数参数: mode 参数有 ...

  6. [八分之一的男人]POJ - 1743 后缀数组 height分组 带详解

    题意:求最长不可重叠的相同差值子串的长度 这道题算是拖了好几个月,现在花了点时间应该搞懂了不少,尝试分析一下 我们首先来解决一个退化的版本,求最长不可重叠的相同子串(差值为0) 比如\(aabaaba ...

  7. 安装Linux虚拟机到执行Java程序

    1.安装VMware 2.在VMware里安装 CentOs 镜像(CentOS-7.2-x86_64-DVD-1511.iso) 3.启动CentOs后如果不能上网,或者 没有 ifconfig命令 ...

  8. 从fis中得来的数据结构,Object版,

    /* * config * caoke */ 'use strict'; //You can't use merge in util.js function merge(source, target) ...

  9. cmd命令行编译c/c++程序

    一.打开文件夹(文件夹名字为123,文件夹里面有程序345.cpp) cd 123 二.在cmd里面编译程序 1.cd Desktop      //在打开文件夹之前不回到桌面会出错 2.cd 123 ...

  10. Linux中断分层--软中断和tasklet

    1. Linux中断分层 (1)上半部:当中断发生时,它进行相应的硬件读写,并“登记”该中断.通常由中断处理程序充当上半部.(一般情况下,上半部不可被打断) (2)下半部:在系统空闲的时候,对上半部“ ...