1.java中的集合学习

2.Collection中常用方法

1.添加功能

boolean add(E e):添加一个元素

boolean addAll(Collection<? extends E> c):添加一个集合

2.删除功能

void clear():移除所有元素

boolean remove(Object o):移除一个指定元素

boolean removeAll(Collection<?> c):移除指定集合中的元素【只要有元素被移除,就返回true】

3.判断功能

boolean contains(Object o):判断集合中是否包含指定元素

boolean containsAll(Collection<?> c):判断集合中是否包含指定集合元素【只有全部包含,才返回true】

boolean isEmpty():判断集合是否为空

boolean equals(Object o)

4.获取功能

Iterator<E> iterator():【父类中继承的方法】

int hashCode():返回集合的哈希值

5.长度功能

int size():获取集合中元素的个数

6.交集功能

boolean retainAll(Collection<?> c):两个集合的交集【A对B做交集,结果保存在A中;只有A不变,才返回true】

7.把集合转换成数组

Object[] toArray():把集合转换成数组,可实现集合的遍历

<T> T[] toArray(T[] a):

3.List特有的方法

1.添加功能

void add(int index, E element):在指定位置添加元素

boolean addAll(int index, Collection<? extends E> c):在指定位置添加集合

2.获取功能

E get(int index):获取指定位置的元素【与size()结合可实现遍历】

List<E> subList(int fromIndex, int toIndex)

int indexOf(Object o)

int lastIndexOf(Object o)

3.列表迭代器

ListIterator<E> listIterator():List集合特有的迭代器

ListIterator<E> listIterator(int index)

4.删除功能

E remove(int index):根据索引删除元素,返回被删除的元素

5.修改功能

E set(int index, E element):根据索引修改元素,返回被修改的元素

4.Vector特有的功能

1.添加功能

public void addElement(E obj)

public void insertElementAt(E obj, int index)

2.获取功能

public E elementAt(int index)

public Enumeration<E> elements()

public int capacity():获取集合的容量

public int indexOf(Object o, int index)

public int lastIndexOf(Object o, int index)

public E firstElement():获取集合第一个元素

public E lastElement():获取集合最后一个元素

3.复制功能

public void copyInto(Object[] anArray)

4.修改功能

public void ensureCapacity(int minCapacity):增加集合的容量

public void setElementAt(E obj, int index)

public void trimToSize():使集合等于当前大小

public void setSize(int newSize):设置集合的大小

5.移除功能

public void removeAllElements():移除所有元素,并大小设置为零

public boolean removeElement(Object obj):移除第一个元素

public void removeElementAt(int index):移除指定元素

protected void removeRange(int fromIndex, int toIndex):移除指定范围元素【包括fromindex,不包括toIndex】

6.格式化功能

public String toString():返回集合的字符串形式【看源码,重写了】

LinkedList特有的方法:(可实现自定义栈)

public class LinkedList<E>extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, Serializable

1.添加功能

public void addFirst(E e)

public void addLast(E e)

2.获取功能

3.public E getLast()

4public E getLast()

3.删除功能

public E removeFirst()

public E removeLast()

Java系列学习(十四)-集合的更多相关文章

  1. “全栈2019”Java第九十四章:局部内部类详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  2. “全栈2019”Java第十四章:二进制、八进制、十六进制

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. “全栈2019”Java第二十四章:流程控制语句中决策语句switch下篇

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. Java从零开始学二十四(集合工具类Collections)

    一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...

  5. Java笔记(二十四)……集合工具类Collections&Arrays

    Collections 集合框架的工具类,方法全部为静态 Collections与Collection的区别 Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法 Collect ...

  6. 学JAVA第二十四天,Set集合与StringBuilder

    下面的内容需要慢慢看,因为,我的语言表达能力不是很好 首先说Set把,Set集合是一个无序且不允许重复的集合,而且查找效率也是快的可怕的. 但是,有些时候,我们必须要用储存多个相同的值时,Set也是可 ...

  7. Java第十四天,集合、迭代器的使用

    集合 集合框架 一.Collection 1.定义方法: Collection<E> obj = new Collection子类<>(); 因为Collection是一个抽象 ...

  8. 菜鸟学Java(十四)——Java反射机制(一)

    说到反射,相信有过编程经验的人都不会陌生.反射机制让Java变得更加的灵活.反射机制在Java的众多特性中是非常重要的一个.下面就让我们一点一点了解它是怎么一回事. 什么是反射 在运行状态中,对于任意 ...

  9. Java Web(十四) 编写MyBookStore项目的总结

    这几天一直没有发博文,原因是在写一个书城的小项目,作为web学习的最后沉淀,接下来就要到框架的学习了. --WH 一.项目介绍 从网上找的一个培训机构的小项目,名称叫做 书城购物网站 吧,其中就是分前 ...

随机推荐

  1. 实验吧-catalyst-system

    刚学逆向很多都不懂,本题也是在看了 http://countersite.org/articles/reverse_engineering/136-revers-s-alexctf-2017.html ...

  2. codevs——1675 大质数 2

    1675 大质数 2  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 小明因为没做作业而被数学老师罚站,之 ...

  3. Maven奇怪的问题,当找不到Maven输出的提示错误时可以试下这个方法

    Maven有时会输出一些奇怪的错误,尤其是用Eclipse自动下载的包,然后根据提示的错误在网上找不到时,可以试下直接删除.m2文件夹,即本地仓库.然后再重新在控制台下执行打包命令来下载包.

  4. MVC中路由的一些内容详解

    使用路由的好处:1.能够根据系统需求,灵活的划分请求规则(不同模块请求的URL是不一样的)2.屏蔽物理路径,提高系统的安全性,以上情况是无法根据URL分析视图文件在站点目录中的位置3.有利于搜索引擎优 ...

  5. 大数据技术之Flume研究摘要(一)

    Flume是Cloudera提供的一个高可用的,高可靠的.分布式的海量日志採集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同一时候,Flume提供对数据进行简单处理 ...

  6. MVC之使用Nhibernate

    NHibernate是一个基于.Net,用于关系数据库的对象持久化类库.它是著名的Hibernate的.Net版本,NHibernate用于把你的.Net对象持久化到底层的关系数据库中.你完全不用自己 ...

  7. iOS 中删除cookie的正确做法

    需求:删除 qq 登录的 cookie,保证下次打开 qq 登录页面不会默认登录 实现:      NSString *url =@"https://w.mail.qq.com/cgi-bi ...

  8. oc75--不可变字典NSDictionary

    // // main.m // NSDictionary // // #import <Foundation/Foundation.h> int main(int argc, const ...

  9. 不仅开源,而且对企业应用完全免费!ExtAspNet弃用GPL v2,拥抱Apache License 2.0(转)

    不仅开源,而且对企业应用完全免费!ExtAspNet弃用GPL v2,拥抱Apache License 2.0(转) 提出问题 ExtAspNet开源以来,一直坚持开源免费的原则,但是其GPL v2的 ...

  10. bzoj3550

    费用流+线性规划 搞了很长时间... 我们可以设立式子,a[1]+a[2]+a[3]+...+a[n]<=k , ... , a[2 * n + 1]+ ... +a[3*n]<=k a是 ...