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

代做硬件毕业设计网站地方生活门户信息网站源码

代做硬件毕业设计网站,地方生活门户信息网站源码,东盟经济技术开发区建设网站,wordpress文章同步到微博一、ArrayList 是什么? 动态数组:ArrayList 是 Java 中一个可动态调整大小的数组,属于 java.util 包。 与普通数组的区别:普通数组长度固定,而 ArrayList 可以自动扩容。 泛型支持:可以存储任意类型的对象…

一、ArrayList 是什么?

  • 动态数组:ArrayList 是 Java 中一个可动态调整大小的数组,属于 java.util 包。

  • 与普通数组的区别:普通数组长度固定,而 ArrayList 可以自动扩容。

  • 泛型支持:可以存储任意类型的对象(需指定泛型,如 ArrayList<String>)。


二、基本操作(代码示例)

1. 创建 ArrayList

import java.util.ArrayList;
​
public class Main {public static void main(String[] args) {// 创建一个存储 String 的 ArrayListArrayList<String> names = new ArrayList<>();
​// 创建一个存储 Integer 的 ArrayListArrayList<Integer> numbers = new ArrayList<>();}
}

2. 添加元素

names.add("Alice");   // 添加到末尾
names.add(0, "Bob");  // 在索引 0 处插入
// 现在列表内容:["Bob", "Alice"]

3. 访问元素

String first = names.get(0);  // 获取索引 0 的元素("Bob")

4. 修改元素

names.set(1, "Charlie");  // 将索引 1 改为 "Charlie"
// 现在列表内容:["Bob", "Charlie"]

5. 删除元素

names.remove(0);          // 删除索引 0 的元素("Bob")
names.remove("Charlie");  // 直接删除元素 "Charlie"

6. 获取长度

int size = names.size();  // 当前列表长度

7. 遍历 ArrayList

// 方法 1:普通 for 循环
for (int i = 0; i < names.size(); i++) {System.out.println(names.get(i));
}
​
// 方法 2:增强 for 循环(推荐)
for (String name : names) {System.out.println(name);
}
​
// 方法 3:使用迭代器
Iterator<String> iterator = names.iterator();
while (iterator.hasNext()) {System.out.println(iterator.next());
}

三、ArrayList 的特点

  1. 动态扩容:默认初始容量为 10,当元素超过容量时,自动增加 50%(如 10 → 15 → 22 ...)。

  2. 随机访问快:通过索引访问元素的时间复杂度是 O(1)。

  3. 增删元素慢:在中间插入或删除元素需要移动后续元素,时间复杂度 O(n)。


四、常见方法速查表

方法作用
add(E e)添加元素到末尾
add(int index, E e)在指定位置插入元素
get(int index)获取索引处的元素
set(int index, E e)修改索引处的元素
remove(int index)删除索引处的元素
remove(Object o)删除指定元素(首次出现)
size()返回列表长度
contains(Object o)判断是否包含某元素
clear()清空列表

五、使用场景

  • 当需要频繁访问元素,但较少插入/删除时(如缓存数据)。

  • 需要动态调整集合大小时(代替传统数组)。


六、注意事项

  1. 非线程安全:多线程环境下推荐使用 VectorCollections.synchronizedList()

  2. 存储对象类型:只能存储对象(如 IntegerString),不能存储基本类型(如 intchar)。

  3. 初始容量优化:如果预先知道数据量较大,可通过 new ArrayList<>(100) 指定初始容量,减少扩容次数。


七、练习题目

  1. 创建一个存储整数的 ArrayList,添加 10 个随机数,然后计算它们的总和。

  2. 编写一个方法,接收一个 ArrayList<String>,返回所有长度大于 5 的字符串。


如果有任何疑问,或需要更深入的示例,请随时告诉我!我们可以一步步完善你的理解。

在 Java 的 ArrayList 中查找某个数(或对象),可以通过以下几种方法实现:


1. 使用 contains() 方法

判断集合中是否包含指定元素(返回 true/false)。

ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 8, 2, 7));
​
int target = 8;
if (numbers.contains(target)) {System.out.println("找到了 " + target);
} else {System.out.println("没找到 " + target);
}

2. 使用 indexOf() 方法

返回元素在集合中的索引(未找到返回 -1)。

int index = numbers.indexOf(target);
if (index != -1) {System.out.println(target + " 的索引是: " + index);
} else {System.out.println(target + " 不存在");
}

3. 手动遍历查找

如果需自定义查找逻辑(例如找大于某值的数),可以用循环遍历:

boolean found = false;
for (int num : numbers) {if (num == target) {found = true;break;}
}
System.out.println(found ? "存在" : "不存在");

4. 使用 Java 8 Stream API

通过 filterfindFirst 实现更灵活的查找:

Optional<Integer> result = numbers.stream().filter(n -> n == target).findFirst();
​
if (result.isPresent()) {System.out.println("找到了: " + result.get());
} else {System.out.println("没找到");
}

注意事项

  1. 对象比较:如果 ArrayList 存储的是自定义对象(如 Person),需要正确重写 equals() 方法,否则 contains()indexOf() 无法正确比较。

  2. 基本类型:ArrayList 不能直接存储基本类型(如 int),需使用包装类(如 Integer)。

  3. 性能contains()indexOf() 的时间复杂度是 O(n)(需要遍历列表)。


完整示例

import java.util.ArrayList;
import java.util.Arrays;
​
public class Main {public static void main(String[] args) {ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 8, 2, 7));int target = 8;
​// 方法1: contains()System.out.println("是否包含8? " + numbers.contains(target));
​// 方法2: indexOf()int index = numbers.indexOf(target);System.out.println("8的索引是: " + index);
​// 方法3: 遍历for (int num : numbers) {if (num == target) {System.out.println("通过遍历找到8");break;}}}
}

输出结果:

是否包含8? true
8的索引是: 2
通过遍历找到8

如果有其他具体需求(如查找多个符合条件的数),可以进一步优化代码!


文章转载自:

http://gotMQlvo.qnywy.cn
http://dMwJoQpF.qnywy.cn
http://hjs2veLo.qnywy.cn
http://65QCoooQ.qnywy.cn
http://4obo04t8.qnywy.cn
http://XbCKLLh3.qnywy.cn
http://VzgLwmcC.qnywy.cn
http://WAOZuYls.qnywy.cn
http://TgXzrErv.qnywy.cn
http://zKvAUYK7.qnywy.cn
http://UkNrgwCS.qnywy.cn
http://3rizz6G4.qnywy.cn
http://8Wijx8dC.qnywy.cn
http://P9ULfMvX.qnywy.cn
http://lfwEJ9S4.qnywy.cn
http://4HnAIpZv.qnywy.cn
http://K1PdncVQ.qnywy.cn
http://WZMDfSr6.qnywy.cn
http://nqMXAdSc.qnywy.cn
http://C2INLxe1.qnywy.cn
http://IHWzLvN2.qnywy.cn
http://wQ6ApDoz.qnywy.cn
http://9akkDZAQ.qnywy.cn
http://Eq0saWNE.qnywy.cn
http://Q3IjXnnW.qnywy.cn
http://dAmZyv8n.qnywy.cn
http://cpLmNSya.qnywy.cn
http://MxWj3Xmf.qnywy.cn
http://9N7QBrlL.qnywy.cn
http://Y1V7xHPE.qnywy.cn
http://www.dtcms.com/wzjs/661694.html

相关文章:

  • 专门做处理货的网站电商网站建设综述
  • html5手机网站开发实例ui做的好的公司网站
  • 聊城网站制作价格关于做营销型网站的建议
  • 网站制作论文题目企业网站设计网络公司
  • 工商网站查询企业信息官网三品合一网站建设案例
  • 不动产登记网站建设商品详情页设计模板
  • 谷歌seo站内优化手机怎么自己建网站
  • 钓鱼网站怎么制作视频广告网店
  • 网店运营具体做什么揭阳seo快速排名
  • 印度网站建设多少钱域名哪个网站续费
  • 做网站需要什么框架ueditor wordpress 插件
  • 常州模板网站建设咨询我的WordPress网站
  • 自个网站衡阳商城网站建设
  • 网站大改版中国建设银行个人登录入口
  • 网站建设 需求分析报告比亚迪新能源汽车e2
  • 做后期的网站有哪些狮山网站建设
  • 上海知名网站建浅谈电子商务网站的建设与管理
  • 免费创建自己的网站平台长春seo按天计费
  • 深圳网站设计深圳设计公司个体户做网站是怎么备案
  • 哈尔滨住房和城乡建设局网站网页界面设计时颜色越多越好
  • 团购网站建设费用沈阳网站搭建
  • 怎样把网站推广出去上海牛巨微seo关键词优化
  • 天涯网站建设路小学本地的赣州网站建设
  • 邢台企业建站重新下载一个微信
  • 牛仔裤网站设计企业网站制作收费
  • 重庆建设工程安全协会网站自适应网站三套代码
  • 太仓网站建设找哪家郑州网站制作哪家招聘
  • 郑州网站建站素材网站都有哪些
  • 网站建设培训深圳wordpress服务器出错
  • 经常修改网站的关键词好不好python培训学校