Collection中list集合的应用常见的方法
集合 : 用存放对象的容器(集合)
Collection : 跟接口 : 单列集合
---> List :有序的 ,元素是可以重复的。
---> Set : 无序的 ,元素是不可以重复的。
Collectionz红常用的方法:
增
add();添加一个元素
addAll();A.addAll(B) 将B中的元素添加到A中。
删
remove(Object o); 移除指定的对象。
removeAll(Collection c);A.removeAll(B); 删除A中含有B的元素。
clear(); 清空所有的元素
判断:
contains(Object); 判断集合中是否含有某一个对象。 实际上还是以equals来比较的对象。
如果比较的自定义的对象 这个时候可能需要重写equals和hashCode方法。
containsAll(Collection c); A.containsAll(B);判断A中是否包含有B集合。
isEmpty() : 判断集合是否为空。
将集合转为数组 :
toArray(); 数组是一个对象数组。遍历集合的方法。
集合比数组的优势:
1.集合可以存任意类型的对象,长度的可变的
2.数组只能同一种类型变量,长度是固定的。
3.集合中只能存对象
List集合 : 接口 提供公有的方法
特有的方法:
1.list中的特有方法都是通过下标来操作元素。
查找 :
add(int index, Object o) ; 添加元素到指定的位置。
get(int index);获取集合中指定位置的元素。
set(int index,Object o); 用来修改集合中指定位置元素的值。
迭代器:
作用:操作集合中元素。 可以增删改查
根迭代器 : Iterator 接口 集中获取迭代器 :通过集合中方法来获取。
collection 集合中获取迭代器:iterator();
迭代器中的方法:
hasNext(); 判断当前指针指向的位置是否有元素
next(); 获取当前指针指向的元素,并且指针下移一位
remove(); 移除最后操作时指针指向的元素。
ListIterator :
特有方法:
hasProvious();判断当前指针指向的上一个位置是否存在元素。
provious(); 获取上一个元素。
proviousIndex();获取上一个元素所在的位置。
add(); 在当前指针指向的位置添加一个元素
set(); 修改当前指针指向的元素。
注意点:
1.add 和 set 不能过同时使用。
2.如果你是用了迭代器来操作元素,那么就不用再用集合来操作元素了。
ArrayList : 底层是维护一个Object[]o数组,默认容量是10 ,如果容量不够增加到原来的1.5倍。
优点 : 查找快 ,增删慢。
trimToSize();调整集合的容量和数据保持一致。
ensureCapacity(int minCapacity) 自定容量。
LinkedList : 链接列表实现, 特点:添加元素比较快,查找慢。
Collection中list集合的应用常见的方法的更多相关文章
- python学习之【第七篇】:Python中的集合及其所具有的方法
1.前言 python中的集合set与列表类似,它们最大的区别是集合内不允许出现重复元素,如果在定义时包含重复元素,会自动去重. 集合是无序的,集合中的元素必须是不可变类型.集合可以作为字典的key. ...
- Collection中Set集合在应用中常见的方法和注意点
Set集合 : 元素无序的,元素不允许重复. ---->HashSet : 存值方式使用哈希表来存值的. 原理 : 如果HashSet中存放对象 ...
- Java中List集合去除重复数据的方法
1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list. ...
- Java中List集合去除重复数据的方法1
1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = ...
- Javascript中数组的定义和常见使用方法
一.定义数组 1.定义数组 var arry=[1,2,'小名',false] //var 数组名=[值1,值2,...] 2.设置数组长度 arry.length=10 //数组长度设置为10 二. ...
- 老出BUG怎么办?游戏服务器常见问题解决方法分享
在游戏开发中,我们经常会遇到一些技术难题,而其引发的bug则会影响整个游戏的品质.女性向手游<食物语>就曾遇到过一些开发上的难题,腾讯游戏学院专家团Wade.Zc.Jovi等专家为其提供了 ...
- 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合
不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...
- java方法中Collection集合的基本使用与方法
集合类的由来,对象用于封闭特有数据,对象多了需要存储,如果对象的个数不确定就使用集合容器进行存储. 集合特点:1.用于存储对象的容器.2.集合的长度是可变的.3.集合中不可以存储基本数据类型值. 集合 ...
- Java基础(40):Java中的集合介绍---Collection与Map
集合类说明及区别Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap ...
随机推荐
- 猜拳游戏GuessGame源码
该游戏是一款比较不错的猜拳游戏GuessGame源码案例,GuessGame——猜拳游戏,这也是我自己的第一款休闲类的游戏案例,游戏实现也比较简单的,希望这个能够帮大家的学习和使用,更多安卓源码尽在源 ...
- java报表工具FineReport的SQL编辑框的语法简介
感谢大家捧场,这里继续分享关于SQL编辑框的一些语法心得总结,因为数据集定义的面板,也是FineReport报表中最常用的模块之一. 1.我理解的执行过程. 这里其实是生成一个字符串,FineRepo ...
- label的for属性
一.使用介绍 <label>专为input元素服务,为其定义标记. for属性规定label与哪个表单元素绑定 label和表单控件绑定方式又两种: 1.将表单控件作为label的内容,这 ...
- [转]关于信息安全认证CISP与CISSP的对比及分析
本文转自:https://www.douban.com/group/topic/89081816/ 最近好多信息安全行业或者打算转行的职场人在纠结学CISP还是学CISSP,我给大家就CISP和CIS ...
- 【2016-10-14】【坚持学习】【Day5】【策略模式】
今天学了策略模式 例子 一个售票系统,针对不同的用户使用不用的计价方式, 环境类:一个业务场景(电影票累,) 抽象类:计价算法 具体实现类:5折算法,满100减20算法,..... 抽象策略类 abs ...
- java utf-8文件处理bom头
UTF? UTF,是UnicodeTransformationFormat的缩写,意为Unicode转换格式. 即怎样将Unicode定义的数字转换成程序数据.utf是对Unicode的一种编码格式化 ...
- 这是啥-Cython语言简单介绍
Cython是一种既可以编写c又可以编写python的编程语言,他的目标是成为一个python语言的超集,为python提供高层次的.面向对象的.函数化.动态编程功能.不同于纯粹的python,它提供 ...
- Java正则获取邮箱
实现思路 1.使用Java.net.URL对象,绑定网络上某一个网页的地址 2.通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象 3.通过 ...
- Hibernate延迟加载Lazy
Hibernate延迟加载Lazy 延迟加载(lazy load)又称为懒加载,延迟加载的机制是为了避免一些无谓性能的开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作 如 ...
- virtual box使用
1.工具栏菜单显示 用的是mac电脑.开始发现分辨率小,选了视图->全屏模式的菜单之后发现工具栏菜单不见了. 解决办法:用一个外置键盘,右ctrl+c进行恢复 virtualBox菜单栏和状态栏 ...