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

东莞建设最好的镇新余seo

东莞建设最好的镇,新余seo,wordpress显示浏览次数,banner设计欣赏网站 官网作者简介: zoro-1,目前大二,正在学习Java,数据结构等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 顺序表 概念Arraylist构造方法相关方法遍历操作 自…

在这里插入图片描述

作者简介: zoro-1,目前大二,正在学习Java,数据结构等
作者主页: zoro-1的主页
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

顺序表

  • 概念
  • Arraylist
    • 构造方法
    • 相关方法
    • 遍历操作
  • 自定义Arraylist
    • 接口
    • 实现类

概念

顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。

Arraylist

构造方法

ArrayList是Java编程语言中的一个类,用于实现可动态调整大小的数组。ArrayList提供了多种构造方法,可以根据需要选择不同的构造方法。

以下是常用的ArrayList构造方法:

  1. ArrayList():创建一个空的ArrayList,初始容量为10。

  2. ArrayList(int initialCapacity):创建一个指定初始容量的ArrayList。

  3. ArrayList(Collection<? extends E> c):创建一个包含指定元素的ArrayList。该ArrayList根据指定集合的迭代器顺序包含集合的所有元素。

示例:

//创建一个空的ArrayList
ArrayList<String> list1 = new ArrayList<String>();//创建一个指定初始容量的ArrayList
ArrayList<Integer> list2 = new ArrayList<Integer>(20);//创建一个包含指定元素的ArrayList
ArrayList<String> list3 = new ArrayList<String>(Arrays.asList("Apple", "Banana", "Orange"));

注意:ArrayList是泛型类,可以指定任意类型作为其元素类型。以上示例中,list1和list2元素类型为String和Integer,list3元素类型为String。

相关方法

ArrayList 是 Java 中常用的一种集合类型,具有动态的添加元素、随机访问、删除元素等基本功能,具体方法如下:

  1. add(E e):在 List 的末尾添加一个元素。
  2. add(int index, E element):在指定的索引位置插入一个元素。
  3. remove(int index):根据索引删除一个元素。
  4. remove(Object o):删除第一个包含指定元素的元素。
  5. clear():清空 List 中的所有元素。
  6. get(int index):返回指定索引位置的元素。
  7. set(int index, E element):用指定元素替换指定位置的元素。
  8. isEmpty():如果 List 不包含任何元素,则返回 true。
  9. size():返回 List 中元素的个数。
  10. contains(Object o):如果 List 包含指定的元素,则返回 true。
  11. indexOf(Object o):返回第一个匹配元素的索引位置,如果没有找到则返回 -1。
  12. subList(int fromIndex, int toIndex):返回 List 中从 fromIndex 开始到 toIndex - 1 结束(不包括 toIndex 位置)的一个子列表。

除此之外,ArrayList 还实现了 Iterable、Collection 和 List 接口,因此可以使用这些接口中定义的方法。例如,可以使用 Collections 类的 sort(List list) 方法对 ArrayList 中的元素进行排序。ArrayList 是 Java 中常用的一种集合类型,具有动态的添加元素、随机访问、删除元素等基本功能,具体方法如下:

遍历操作

  1. 增强for循环遍历
ArrayList<String> list = new ArrayList<>();
// 添加元素
for(String element : list){System.out.println(element); // 输出元素
}
  1. 迭代器遍历
ArrayList<String> list = new ArrayList<>();
// 添加元素
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){String element = iterator.next();System.out.println(element); // 输出元素
}
  1. lambda表达式遍历(Java 8及以后版本)
ArrayList<String> list = new ArrayList<>();
// 添加元素
list.forEach(element -> System.out.println(element)); // 输出元素
```1. 增强for循环遍历
```java
ArrayList<String> list = new ArrayList<>();
// 添加元素
for(String element : list){System.out.println(element); // 输出元素
}
  1. 迭代器遍历
ArrayList<String> list = new ArrayList<>();
// 添加元素
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){String element = iterator.next();System.out.println(element); // 输出元素
}
  1. lambda表达式遍历(Java 8及以后版本)
ArrayList<String> list = new ArrayList<>();
// 添加元素
list.forEach(element -> System.out.println(element)); // 输出元素

自定义Arraylist

接口

public interface IList {//新增元素,默认在数组最后新增public void add(int data);// 在 pos 位置新增元素public void add(int pos, int data);// 判定是否包含某个元素public boolean contains(int toFind) ;// 查找某个元素对应的位置public int indexOf(int toFind);// 获取 pos 位置的元素public int get(int pos);// 给 pos 位置的元素设为 value  更新public void set(int pos, int value);//删除第一次出现的关键字keypublic void remove(int toRemove) ;// 获取顺序表长度public int size();// 清空顺序表public void clear() ;// 打印顺序表,注意:该方法并不是顺序表中的方法,为了方便看测试结果给出的public void display();boolean isFull();

实现类

import java.util.Arrays;/*** @Author 12629* @Description:*/
public class MyArrayList implements IList {public int[] elem ;public int usedSize;//0//顺序表的 默认大小public static final int DEFAULT_SIZE = 10;public MyArrayList() {this.elem = new int[DEFAULT_SIZE];}public MyArrayList(int capacity) {this.elem = new int[capacity];}/*** 遍历顺序表当中的元素*/@Overridepublic void display() {for (int i = 0; i < this.usedSize; i++) {System.out.print(this.elem[i]+" ");}System.out.println();}@Overridepublic void add(int data) {checkCapacity();this.elem[this.usedSize] = data;this.usedSize++;}@Overridepublic boolean isFull() {/*if(usedSize == elem.length) {return true;}return false;*/return usedSize == elem.length;}@Overridepublic void add(int pos, int data) {try {checkPosOnAdd(pos);}catch (PosIllegality e) {e.printStackTrace();return;}checkCapacity();//1、从最后一个有效的数据开始往后移动 //2、当i < pos 就结束for (int i = usedSize-1; i >= pos; i--) {elem[i+1] = elem[i];}//3、存放元素到pos 位置elem[pos] = data;//4、usedSize++;usedSize++;}/*** 检查pos的合法性*/private void checkPosOnAdd(int pos) throws PosIllegality{if(pos < 0 || pos > usedSize) {System.out.println("不符合法!");throw new PosIllegality("插入元素下标异常: "+pos);}}private void checkCapacity() {if(isFull()) {//扩容elem = Arrays.copyOf(elem,elem.length*2);}}@Overridepublic boolean contains(int toFind) {if(isEmpty()) {return false;}for (int i = 0; i < usedSize; i++) {//如果是查找引用数据类型 一定记住 重写方法if(elem[i] == toFind) {return true;}}return false;}public boolean isEmpty() {return usedSize == 0;}@Overridepublic int indexOf(int toFind) {if(isEmpty()) {return -1;}for (int i = 0; i < usedSize; i++) {//如果是查找引用数据类型 一定记住 重写方法if(elem[i] == toFind) {return i;}}return -1;}@Overridepublic int get(int pos) throws MyArrayListEmpty{checkPosOnGetAndSet(pos);if(isEmpty()) {throw new MyArrayListEmpty("获取指定下标元素时" +"顺序表为空!");}return elem[pos];}private void checkPosOnGetAndSet(int pos) throws PosIllegality{if(pos < 0 || pos >= usedSize) {System.out.println("不符合法!");throw new PosIllegality("获取指定下标的元素异常: "+pos);}}@Overridepublic void set(int pos, int value) {checkPosOnGetAndSet(pos);elem[pos] = value;}@Overridepublic void remove(int toRemove) {int index = indexOf(toRemove);if(index == -1) {System.out.println("没有这个数字!");return;}for(int i = index; i < usedSize-1;i++) {elem[i] = elem[i+1];}usedSize--;}@Overridepublic int size() {return this.usedSize;}@Overridepublic void clear() {this.usedSize = 0;}
}

今天的分享到这就结束了,记得三连哦,谢谢大家支持
在这里插入图片描述

http://www.khdw.cn/news/54578.html

相关文章:

  • 优秀网站建设方案硬件优化大师下载
  • 如何自己做优惠券网站百度竞价怎么做开户需要多少钱
  • 网站首屏做多大怎么制作一个网站
  • 魔方网站建设如何进行seo搜索引擎优化
  • 个人求职网站怎么做seo权重查询
  • 备案 网站服务内容百度网盘客服在线咨询
  • 单页面的网站模板软文写作服务
  • 西安找公司建网站制作链接的小程序
  • 河南网站托管优化网站开发用什么语言
  • 自己做副业可以抢哪个网站站长工具app下载
  • 女生wordpress网站适合做网销的一天都在干嘛
  • 网站建设jsp账户竞价托管公司
  • 海南省建设银行官方网站招聘湖南正规seo优化报价
  • 电子商务专业网站外贸网络推广经验
  • 电话手表网站网络推广中心
  • 网站建设方案书个人中小企业网站
  • 菜谱网站 源码搜索热词排行榜
  • 工作室项目推荐网络优化器下载
  • 迅 网站 模板竞价托管外包服务
  • 如何做网站策划案人民日报最新消息
  • 如何制作网页小游戏搜索引擎优化的主要工作
  • 网页设计与网站建设 作业怎么查权重查询
  • 做网站做网站的公司刷链接浏览量网站
  • 淘宝做网站杭州seo托管公司推荐
  • 洛阳网站的优化seo优化排名
  • 成都网页制作baishuhome谷歌seo课程
  • 重庆建设摩托车官方网站长沙seo外包优化
  • 泰安集团网站建设报价搜索关键词优化
  • 郑州网站建设郑州网站建设七彩科技优化方案官网
  • 如何提升网站转化率指数函数求导