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

桓台网站建设公司长沙百度地图

桓台网站建设公司,长沙百度地图,做百度竞价对网站有无要求,专题网站建设工作Java.util.List 使用详解 java.util.List 是 Java 集合框架中最常用的接口之一,它表示一个有序的集合(也称为序列)。下面我将详细介绍 List 的使用方法,包括创建、操作和最佳实践。 一、List 的创建 1. 使用具体实现类创建 //…

Java.util.List 使用详解

java.util.List 是 Java 集合框架中最常用的接口之一,它表示一个有序的集合(也称为序列)。下面我将详细介绍 List 的使用方法,包括创建、操作和最佳实践。

一、List 的创建

1. 使用具体实现类创建

// ArrayList - 基于动态数组
List<String> arrayList = new ArrayList<>();// LinkedList - 基于链表
List<Integer> linkedList = new LinkedList<>();// Vector - 线程安全的动态数组(已过时,不推荐新代码使用)
List<Double> vector = new Vector<>();

2. 使用工具方法创建

// Arrays.asList - 固定大小的List(不能添加/删除)
List<String> fixedList = Arrays.asList("A", "B", "C");// List.of (Java 9+) - 不可变List
List<String> immutableList = List.of("A", "B", "C");// Collections.nCopies - 创建包含n个相同元素的List
List<String> repeated = Collections.nCopies(3, "Hello");

二、基本操作

1. 添加元素

List<String> fruits = new ArrayList<>();// 添加单个元素
fruits.add("Apple");
fruits.add("Banana");// 在指定位置插入
fruits.add(1, "Orange"); // ["Apple", "Orange", "Banana"]// 添加多个元素
fruits.addAll(Arrays.asList("Grape", "Mango"));

2. 访问元素

// 获取元素
String first = fruits.get(0); // "Apple"// 检查元素是否存在
boolean hasApple = fruits.contains("Apple"); // true// 查找元素位置
int index = fruits.indexOf("Banana"); // 2
int lastIndex = fruits.lastIndexOf("Apple"); // 0

3. 修改元素

// 修改指定位置元素
fruits.set(1, "Cherry"); // ["Apple", "Cherry", "Banana", "Grape", "Mango"]// 批量替换 (Java 8+)
fruits.replaceAll(String::toUpperCase); // ["APPLE", "CHERRY", "BANANA", "GRAPE", "MANGO"]

4. 删除元素

// 按索引删除
fruits.remove(0); // 移除 "APPLE"// 按值删除
fruits.remove("CHERRY"); // 返回true表示成功// 条件删除 (Java 8+)
fruits.removeIf(f -> f.startsWith("B")); // 删除所有B开头的元素// 清空List
fruits.clear();

三、遍历操作

1. 基本遍历方式

// 1. for循环
for (int i = 0; i < fruits.size(); i++) {System.out.println(fruits.get(i));
}// 2. 增强for循环
for (String fruit : fruits) {System.out.println(fruit);
}// 3. 迭代器
Iterator<String> it = fruits.iterator();
while (it.hasNext()) {System.out.println(it.next());
}// 4. ListIterator (可双向遍历)
ListIterator<String> lit = fruits.listIterator();
while (lit.hasNext()) {System.out.println(lit.next());
}

2. Java 8+ 流式遍历

// 简单遍历
fruits.forEach(System.out::println);// 使用Stream API
fruits.stream().filter(f -> f.length() > 5).map(String::toLowerCase).forEach(System.out::println);

四、常用工具方法

1. 排序

// 自然排序
Collections.sort(fruits); // 按字母顺序// 自定义排序
fruits.sort((a, b) -> b.compareTo(a)); // 降序// 对象排序
List<Person> people = new ArrayList<>();
people.sort(Comparator.comparing(Person::getAge).thenComparing(Person::getName));

2. 子列表操作

// 获取子列表视图(与原List共享数据)
List<String> subList = fruits.subList(1, 3);// 子列表修改会影响原List
subList.set(0, "Peach");

3. 数组转换

// List转数组
String[] array = fruits.toArray(new String[0]);// 数组转List (Java 9+)
List<String> fromArray = List.of(array);

五、最佳实践

1. 初始化容量

// 如果知道大概元素数量,指定初始容量提高性能
List<String> bigList = new ArrayList<>(1000);

2. 不可变List

// Java 9+ 创建不可变List
List<String> immutable = List.of("A", "B", "C");// Java 8及以前
List<String> immutable = Collections.unmodifiableList(new ArrayList<>(...));

3. 线程安全处理

// 同步包装
List<String> syncList = Collections.synchronizedList(new ArrayList<>());// 并发集合 (Java 5+)
List<String> safeList = new CopyOnWriteArrayList<>();

4. 性能考虑

  • ArrayList:随机访问快(O(1)),中间插入/删除慢(O(n))
  • LinkedList:插入/删除快(O(1)),随机访问慢(O(n))

六、Java 8+ 新特性应用

1. removeIf

// 删除所有空元素
list.removeIf(Objects::isNull);

2. replaceAll

// 所有元素转为大写
list.replaceAll(String::toUpperCase);

3. Stream API

// 复杂数据处理
List<String> result = list.stream().filter(s -> s.length() > 3).map(String::toLowerCase).distinct().collect(Collectors.toList());

List 是 Java 开发中最常用的集合类型,合理使用可以大大提高开发效率。选择适当的实现类(ArrayList/LinkedList)和遵循最佳实践,可以优化程序性能。

http://www.dtcms.com/wzjs/305163.html

相关文章:

  • 呼伦贝尔旅游包车网站咋做建站流程主要有哪些
  • 做一个打鱼网站需要多少钱百度联盟app
  • 做h5的网站哪个好google网站推广
  • 苏州园区做网站中国联通业绩
  • php做调查问卷网站深圳关键词优化公司哪家好
  • 做微商城网站疫情最新情况
  • 免费做简历的软件网站杭州seo博客
  • 网站开发网网站设计公司上海
  • 网络营销导向的企业网站建设的要求网站收录服务
  • html5的篮球网站开发百度官方免费下载安装
  • ps怎么做网站图片谷歌 翻墙入口
  • 产品展示网站模板下载seo是什么意思 seo是什么职位
  • 酷狗音乐网站开发语言hao123网址导航
  • 西安公司网站建设seo排名教程
  • 什么网站是专做代购的网络营销推广网站
  • 上海建设工程造价网站济南优化网页
  • 网页制作与网站建设实战大全优化教程网
  • 误入网站退不了怎么做web前端培训费用大概多少
  • 做独立网站需要注意些什么怎么开网店新手入门
  • 有没有专业做挂的网站游戏优化是什么意思
  • 阳江网站制作电脑网页制作
  • 网站改版有什么影响百度官网登录入口
  • 做网站是属火的职业吗nba交易最新消息汇总
  • 说服企业做网站天天外链
  • 跨境商城网站制作百度热线电话
  • 域名备案和网站备案的区别宁波seo公司排名榜
  • 做网站的软件下载关键字搜索
  • 网站流量真难做百度地图下载2022新版安装
  • 企业网站前期建设方案案例关键词快速上首页排名
  • dedecms手机网站操作优化大师软件大全