Jvav Collection-List
- package 集合;
- import java.util.ArrayList;
- import java.util.Collection;
- /**
- * 集合和数组的区别:
- * 1、长度
- * 数组长度固定
- * 集合长度不定
- * 2、内容不同
- * 数组存储的是同一种元素
- * 集合可以存储不同类型的元素
- * 3、存储类型
- * 数组可以存储基本类型数据,也可以存储引用数据类型
- * 集合只能存储引用类型
- *
- * 结构图
- * ArrayList
- * List Vector
- * LinkedList
- * Collection
- * HashSet
- * Set
- * TreeSet
- * Collection功能概述:
- * 1、添加
- * add(Object o) addAll(Collection c)
- * 2、删除
- * clear() 移除所有元素
- * remove(Object o)
- * removeAll(Collection c)
- * 3、修改
- * 4、获取
- * Iterator<E> iterator()
- * 5、长度
- * int size()
- * 6、判断
- * contains(Object o) containAll(Collection c) imEmpty()
- * 7、retainAll(Collection c) 两个集合都有的元素
- */
- /**
- * 迭代器遍历
- * Iterator it = c.iterator(); //返回的肯定是子类对象,这里是多态
- * it.next(); //移动到下一个 不要在一个语句中多次调用next方法,
- * 因为对象会变
- * it.hasNext() //判断是不是有下一个对象
- * 迭代器遍历元素的时候,通过集合是不能修改元素的
- * 解决办法:
- * 1.迭代器迭代元素,迭代器修改元素 it.add()
- * 2.集合遍历元素,集合修改元素(for)
- *
- */
- /**
- * List特点:
- * 1.与set不同,允许重复元素。可根据索引获取对象
- * 2.有序的collection,
- * 3.特有功能:
- * 1.添加功能 add(int index , object element) 在指定位置添加元素
- * 2.获取功能 get(int index) //获取指定位置的元素
- * 3.列表迭代器 ListIterator listIterator() List集合特有的迭代器
- * 4.删除功能 remove(int index) 根据索引删除元素,返回被删除的元素
- * 5.修改功能 set(int index,Object element) 返回被修改的元素
- */
- /**
- * List的子类特点:
- * ArrayList:
- * 底层数据结构是数组,查询快,增删慢
- * 线程不安全,效率高
- * Vector: //一般不同
- * 底层数据结构是数组,查询快,增删慢
- * 线程安全,效率低
- * LinkedList:
- * 底层数据结构是链表,查询慢,增删慢。
- * 线程不安全,效率高。
- * 常见数据结构
- * 栈 先进后出
- * 队列 先进先出
- * 数组 查询慢,增删快
- * 链表 查询慢,增删快
- *
- */
- public class 集合List {
- public static void main(String[] args) {
- //创建集合对象
- Collection c = new ArrayList();
- }
- }
Jvav Collection-List的更多相关文章
- Java基础Collection集合
1.Collection是所有集合的父类,在JDK1.5之后又加入了Iterable超级类(可以不用了解) 2.学习集合从Collection开始,所有集合都继承了他的方法 集合结构如图:
- Collection集合
一些关于集合内部算法可以查阅这篇文章<容器类总结>. (Abstract+) Collection 子类:List,Queue,Set 增: add(E):boolean addAll(C ...
- iOS之解决崩溃Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.
崩溃提示:Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <CAL ...
- [Java Collection]List分组之简单应用.
前言 今天有一个新需求, 是对一个List进行分组, 于是便百度到一些可用的代码以及我们项目使用的一些tools, 在这里总结下方便以后查阅. 一: 需求 现在我们一个数据库表t_series_val ...
- Java Collection开发技巧
Java Collection(集合) 集合中的一些技巧: 通过Collections类的静态方法,可以对集合进行一些操作 1 java.util.List<Integer> number ...
- 浅谈Collection集合
俗话说:一个东西,一件事都离不开三句话:"是什么,为什么,怎么办" 集合是什么: 集合简单的说一个数组集合的高级体现,用来存储数据或对象的容器: 集合为什么存在: 集合只是体现了对 ...
- Backbone中的model和collection在做save或者create操作时, 如何选择用POST还是PUT方法 ?
Model和Collection和后台的WEB server进行数据同步非常方便, 都只需要在实行里面添加一url就可以了,backbone会在model进行save或者collection进行cre ...
- Collection和Collections的区别?
Collection 是接口(Interface),是集合类的上层接口. Collections是类(Class),集合操作的工具类,服务于Collection框架.它是一个算法类,提供一系列静态方法 ...
- Unity性能优化(3)-官方教程Optimizing garbage collection in Unity games翻译
本文是Unity官方教程,性能优化系列的第三篇<Optimizing garbage collection in Unity games>的翻译. 相关文章: Unity性能优化(1)-官 ...
- MyBatis中collection (一对一,一对多)
MyBatis学习:http://www.mybatis.org/mybatis-3/zh/index.html 大对象InsuranceDetailsVO: com.quicksure.mobile ...
随机推荐
- c++实验2 顺序存储线性表
线性表顺序存储 实现了动态数组的增删改查 前驱后继 A=AUB 动态数组右移 (1)顺序表存储结构的定义(类的声明): class SeqList { protected: DataType *l ...
- 【bzoj4007】[JLOI2015]战争调度 暴力+树形dp
Description 脸哥最近来到了一个神奇的王国,王国里的公民每个公民有两个下属或者没有下属,这种 关系刚好组成一个 n 层的完全二叉树.公民 i 的下属是 2 * i 和 2 * i +1.最下 ...
- JDK1.8源码阅读系列之二:LinkedList
本篇随笔主要描述的是我阅读 LinkedList 源码期间的对于 LinkedList 的一些实现上的个人理解,有不对的地方,请指出- 先来看一下 LinkedList 的继承图: 由于 Abstra ...
- SDUT OJ 顺序表应用3:元素位置互换之移位算法
顺序表应用3:元素位置互换之移位算法 Time Limit: 1000 ms Memory Limit: 570 KiB Submit Statistic Discuss Problem Descri ...
- python之文件读写(1)
1. 从文件读取数据 关于对文件的操作,使用open(filename, mode),打开文件.与之对应的,close()用来关闭文件.对文件操作完毕切记要关闭. open函数参数: mode 参数有 ...
- [八分之一的男人]POJ - 1743 后缀数组 height分组 带详解
题意:求最长不可重叠的相同差值子串的长度 这道题算是拖了好几个月,现在花了点时间应该搞懂了不少,尝试分析一下 我们首先来解决一个退化的版本,求最长不可重叠的相同子串(差值为0) 比如\(aabaaba ...
- 安装Linux虚拟机到执行Java程序
1.安装VMware 2.在VMware里安装 CentOs 镜像(CentOS-7.2-x86_64-DVD-1511.iso) 3.启动CentOs后如果不能上网,或者 没有 ifconfig命令 ...
- 从fis中得来的数据结构,Object版,
/* * config * caoke */ 'use strict'; //You can't use merge in util.js function merge(source, target) ...
- cmd命令行编译c/c++程序
一.打开文件夹(文件夹名字为123,文件夹里面有程序345.cpp) cd 123 二.在cmd里面编译程序 1.cd Desktop //在打开文件夹之前不回到桌面会出错 2.cd 123 ...
- Linux中断分层--软中断和tasklet
1. Linux中断分层 (1)上半部:当中断发生时,它进行相应的硬件读写,并“登记”该中断.通常由中断处理程序充当上半部.(一般情况下,上半部不可被打断) (2)下半部:在系统空闲的时候,对上半部“ ...