当前位置: 首页 > news >正文

做农资的网站5118

做农资的网站,5118,科技进步是国防强大的重要的保证,做网站需提供什么资料目录 一.集合概述 二. 集合体系概述 1. Collection接口 1.1 List接口 1.2 Set接口 2. Map接口 三. ArrayList 1.ArrayList常用方法 2.ArrayList遍历 2.1 for循环 2.2 增强for循环 2.3 迭代器遍历 一.集合概述 我们经常需要存储一些数据类型相同的元素,之前我们学过…

目录

一.集合概述

二. 集合体系概述

1. Collection接口

1.1 List接口

1.2 Set接口

2. Map接口

三. ArrayList

1.ArrayList常用方法

2.ArrayList遍历

2.1 for循环

2.2 增强for循环

2.3 迭代器遍历


一.集合概述

我们经常需要存储一些数据类型相同的元素,之前我们学过的容器就是数组,但是数组存在一个问题

1.数组的长度一旦确定就不能改变

但是我们在实际开发中,往往需要动态增长的容器来帮我们存储数据,显然只用数组的话需要自己去创建新数组并拷贝元素,这大大降低了开发效率,所以java提供了底层不同实现的数据结构的容器称为集合

二. 集合体系概述

1. Collection接口

Collection是一个接口,里面可以定义抽象方法,常量,静态方法,默认方法(jdk8及之后),该接口是单列集合的父接口,其中主要用于定义一些单列集合通用的方法,例如:单列集合的增删改查

1.1 List接口

 List接口继承了Collection接口,List接口下的实现类允许出现重复元素,可以用索引和迭代器访问,主要有ArrayList,LinkedList,Vector等实现类

1.2 Set接口

Set接口同样继承了Collection接口,Set接口下的实现类不允许出现重复元素,且不能用索引访问,只能用迭代器访问,主要有HashSet,TreeSet等实现类

2. Map接口

Map是一个接口,里面可以定义抽象方法,常量,静态方法,默认方法(jdk8及之后),该接口是双列(键值对存储)集合的父接口,其中主要定义一些双列集合通用的方法,例如:双列集合的增删改查,主要有HashMap等实现类

三. ArrayList

ArrayList是List接口下的一个实现类,底层是一个可以动态增长的数组,所有的集合容器中都可以添加任意类型的数据,但为了使用时的统一,用一个<>指明集合中的元素类型,这是泛型,例如:<String>

1. ArrayList常用方法

size()返回集合中实际元素个数
add(E e)向集合末尾添加元素,添加成功返回true,添加失败返回false
add(int index,E e)向指定位置处添加元素
remove(Object o)删除指定内容的元素,删除成功返回true,删除失败返回false
remove(int index)删除指定位置处的元素,删除成功会把该值返回
get(int index)获取指定位置处的元素
indexOf(Object o)从左向右查找指定元素,找到返回下标,找不到返回-1
lastIndexOf(Object o)从右向左查找指定元素,找到返回下标,找不到返回-1
set(int index,E element)用指定的元素替换指定位置的元素,同时返回旧元素
isEmpty()判断集合是否为空
contains(Object o)判断集合中是否包含指定元素

四. LinkedList

LinkedList是List接口下的一个实现类,底层是链表结构

1.LinkedList常用方法

int size()返回集合中的元素个数
boolean add(E e)向集合尾部添加指定元素,添加成功返回true,添加失败返回false
void add(int index,E element()向指定位置添加指定元素
        E get(int index)获取指定位置的元素
boolean remove(Object o)删除指定元素,删除成功返回true,删除失败返回false
E remove(int index)删除指定位置的元素,并将其返回
E remove()删除头部的元素并返回
void addFirst(E e)向头部添加元素
E removeLast()删除尾部元素并返回
void addLast(E e)向尾部添加元素
E pop()删除头部元素并返回
void clear()清空链表元素
boolean isEmpty()判断链表是否为空
boolean contains(Object o)判断链表中是否包含指定元素

五. Vector

vector和ArrayList底层都是数组,且两者所拥有的方法也都是相同的,唯一的不同是,Vector的方法中被synchronized修饰,是线程安全的,它们两者的关系就好像StringBuffer和StringBuilder的关系一样

六. List接口下的实现类的遍历

这里以ArrayList为例,LinkedList和vector也是类似的

1. for循环

public class ArrayListDemo4 {public static void main(String[] args) {ArrayList<String> arrayList = new ArrayList<>();arrayList.add("a");arrayList.add("a");arrayList.add("a");arrayList.add("b");arrayList.add("c");arrayList.add("d");for(int i = 0;i < arrayList.size(); i++){if("a".equals(arrayList.get(i))){arrayList.remove("a");i--;}}}
}

注意:用for循环删除集合中的元素时要注意索引和元素位置的变化,将索引减回去,避免删除元素不彻底

2. 增强for循环

public class ArrayListDemo4 {public static void main(String[] args) {ArrayList<String> arrayList = new ArrayList<>();arrayList.add("a");arrayList.add("a");arrayList.add("a");arrayList.add("b");arrayList.add("c");arrayList.add("d");/*2.增强for循环增强for循环遍历元素时,不允许修改集合元素(删除,添加)*/for(String s:arrayList){//arrayList.remove(s);System.out.print(s+" ");//arrayList.add("1");}}
}

 注意:在使用增强for循环遍历集合时不能对集合进行增删改查等操作 

3. 迭代器遍历

public class ArrayListDemo4 {public static void main(String[] args) {ArrayList<String> arrayList = new ArrayList<>();arrayList.add("a");arrayList.add("a");arrayList.add("a");arrayList.add("b");arrayList.add("c");arrayList.add("d");/*迭代器遍历*///获得集合对象的迭代器对象Iterator<String> it = arrayList.iterator();//正向遍历while(it.hasNext()) {String s = it.next();//获取到下一个元素System.out.print(s+" ");/*if(s.equals("b")){it.remove();//使用迭代器对象删除元素}*/}System.out.println();//ListIterator 迭代器 只能对List接口下的实现类遍历//listIterator(index);可以从指定的位置开始向前或者向后遍历ListIterator<String> listIterator = arrayList.listIterator(1);while(listIterator.hasNext()){System.out.print(listIterator.next()+" ");}System.out.println();//反向遍历ListIterator<String> listIterator1 = arrayList.listIterator(arrayList.size());while(listIterator1.hasPrevious()){System.out.print(listIterator1.previous()+" ");}}
}

使用迭代器遍历集合是更推荐的方法,它既可以在遍历时对集合进行操作,也不用自己去管下一个元素是否会被略过

 

http://www.hyszgw.com/news/18535/

相关文章:

  • 多肉建设网站的目的及功能定位营销型网站一般有哪些内容
  • sap.net怎么做网站网站模板大全
  • 建设银行怎么在网站设置限额网站模板哪里好
  • wordpress 评论删除临沂seo公司
  • 百度推广一年收费标准网站seo基础优化
  • 河南省级住房城乡建设主管部门网站百度统计
  • 下载app安装到手机上深圳seo优化公司
  • 国家建设部网站首页培训心得体会800字
  • 网站是香港主机网页设计制作软件
  • 上海网站建设机构家庭优化大师免费下载
  • 手机网站404页面外贸网络推广服务
  • 网站开发费属于无形资产企业管理培训班
  • 南宁网站推广系统地推网app推广平台
  • 自建站服务上海seo顾问
  • 做网站从什么做起关键词优化分析工具
  • nginx wordpress配置静态化网站seo入门基础教程书籍
  • 网络彩票网站建设多少钱百度站长平台网站提交
  • wordpress 头像 加载慢优化网络搜索引擎
  • 处方药可以做网站吗网络营销的基本特征
  • jsp项目个人网站开发友链交易
  • wordpress云主机武汉seo诊断
  • qq官方网站进入上海有什么seo公司
  • 提供温州手机网站制作哪家好seo综合查询
  • 服务类网站开发百度seo优化方法
  • 企业网站建设所需要的资料seo公司推荐推广平台
  • 如何用框架做网站好看的seo网站
  • 区块链开发公司seo网络推广经理招聘
  • 江西省城乡建设厅建设网站网站维护工作内容
  • 辽宁省建设厅证书查询网站江苏seo排名
  • 长春网站设计880元百度搜索高级搜索