珠海网站备案,运城盐湖区姚孟信通网站开发中心,中山大良网站建设,建行官网个人银行目录
List集合
常见方法
迭代器#xff08;Iterator#xff09;
List集合特有方法
List 的特点
创建 List
遍历List Java集合框架是Java编程语言提供的各种数据结构和算法的实现。它提供了不同类型的集合类#xff0c;如列表(List)、集(Set)、映射(Map)等#xff0c…目录
List集合
常见方法
迭代器Iterator
List集合特有方法
List 的特点
创建 List
遍历List Java集合框架是Java编程语言提供的各种数据结构和算法的实现。它提供了不同类型的集合类如列表(List)、集(Set)、映射(Map)等以及一组接口和类来操作和处理集合数据。Java集合框架的主要类和接口包括1. Collection接口它是所有集合类的根接口定义了集合对象的基本方法如添加、删除、查询等。常见的实现类有List和Set。2. List接口它是有序的集合允许重复元素。常见的实现类有ArrayList、LinkedList和Vector。3. Set接口它是无序的集合不允许重复元素。常见的实现类有HashSet、TreeSet和LinkedHashSet。4. Map接口它是一种键值对的集合每个元素包含一个键和一个值。常见的实现类有HashMap、TreeMap和LinkedHashMap。集合框架提供了许多通用的方法如add()、remove()和contains()等以便操作集合中的元素。此外它还提供了迭代器(Iterator)来遍历集合中的元素。Java集合框架的好处包括
- 提供了丰富的数据结构和算法的实现方便开发者使用和操作集合数据。
- 统一了集合类的接口和方法使得代码更加简洁、可读性更高。
- 提供了线程安全和高效的实现能够处理大量数据和高并发情况。
- 可以与其他Java类库和框架很好地集成提供更强大的功能和性能。总之Java集合框架是Java编程中非常重要和常用的一部分它提供了大量的集合类和接口方便开发者进行集合操作和处理。通过熟悉集合框架的使用可以提高程序的开发效率和性能。List集合
常见方法 List 是一个接口它是最基础的一种集合它是一种有序列表。它的常用子类包括ArrayList基于动态数组实现支持随机访问。LinkedList基于双向链表实现只能顺序访问但是可以快速地在链表中间插入和删除元素。不仅如此LinkedList 还可以用作栈、队列和双向队列。Vector和 ArrayList 类似但它是线程安全的。Stack它实现了一个标准的后进先出的栈是 Vector 的子类。
CopyOnWriteArrayList一个线程安全的 ArrayList。import java.util.ArrayList;
import java.util.List;public class Arraylist_test01 {public static void main(String[] args) {new ArrayList();/*** new ArrayList泛型();*/ListString arrayList new ArrayListString(); //右边的泛型可不写arrayList.add(wo); //向集合存入元素 但是要和定义的类型一样arrayList.add(ni);arrayList.add(ta);//ArrayList 底层是基于数组的System.out.println(arrayList.size()); //ArrayList.size 方法可以清楚的看到集合中元素的数量 //3for (int i 0; i arrayList.size(); i) {System.out.println(arrayList.get(0)); //将下标为0的数组循环三次并打印出来}System.out.println(arrayList.get(0) arrayList.get(1) arrayList.get(2)); // ArrayList.get方法 可以获取到集合中的元素// System.out.println(arrayList.get(0) arrayList.get(1) arrayList.get(2) arrayList.get(3)); //一定会报错的获取的元素不能超过集合中的元素数量System.out.println(-----------------------------------);String remove arrayList.remove(2);System.out.println(remove); // ArrayList.remove 删除元素 //ta// System.out.println(arrayList.get(0) arrayList.get(1) arrayList.get(2)); // 会报错因为下标为2的元素已经删除了System.out.println(arrayList.size()); // 2 使用size方法会得到集合中还有两个元素}
} ArrayList.get : 获取集合中的元素
ArrayList.set : 替换集合中的元素
ArrayList.add : 给集合添加元素
ArrayList.remove : 删除集合中的元素
ArrayList.size : 获取集合中元素的数量 迭代器Iterator
在 Java 中迭代器Iterator是一种用于遍历集合Collection元素的接口。通过迭代器可以依次访问集合中的每个元素而无需了解集合内部的数据结构。使用迭代器可以实现对集合的遍历并且在遍历的过程中可以进行删除操作而不会出现并发修改异常。通常使用迭代器的基本流程如下1. 通过集合的 iterator() 方法获取迭代器对象。
2. 使用 hasNext() 方法判断是否还有下一个元素。
3. 使用 next() 方法获取下一个元素的值。
4. 在需要的时候可以使用 remove() 方法删除元素可选操作。需要注意的是迭代器是通过集合的 iterator() 方法获取的不同的集合类如ArrayList、LinkedList、HashSet等都实现了iterator()方法因此可以使用迭代器对不同类型的集合进行遍历操作。import java.util.ArrayList;
import java.util.Iterator;public class IteratorExample {public static void main(String[] args) {ArrayListString list new ArrayList();list.add(A);list.add(B);list.add(C);IteratorString iterator list.iterator();while (iterator.hasNext()) {String element iterator.next();System.out.println(element);}}
}List集合特有方法 import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;public class ArrayList_list {public static void main(String[] args) {//list接口中独有的方法CollectionString collection new ArrayList();collection.add(qq01);collection.add(qq02);collection.add(qq03);//在Collenction接口中是没有get方法的、//java多态机制 -- 编译看左边的 而左边是Collection接口没有get方法所以运行报错//如果需要使用get方法可以将Collection强转为List即可List list (List) collection;
// System.out.println(list.get(0)); // 这样就可以使用get方法了list.add(qq123);
// System.out.println(list.size()); // 4list.remove(2);
// System.out.println(list.size()); //3list.set(1, weixin);Iterator iterator list.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}/*** collection 接口只是提供集合基本的方法* 具体实现的话使用List ArratList 需要重写List接口** 1、List集合下都是有序的接口 根据存放顺序* 2、可以允许存放重复数据的而set接口不允许*/
} List 的特点
使用 List 时我们要关注 List 接口的规范。List 接口允许我们添加重复的元素即 List 内部的元素可以重复
1ListString list new ArrayList();2list.add(apple); // size13list.add(pear); // size24list.add(apple); // 允许重复添加元素size35System.out.println(list.size()); // 结果为 3List 还允许添加 null
1ListString list new ArrayList();2list.add(apple); // size13list.add(null); // size24list.add(pear); // size35String second list.get(1); // null6System.out.println(second); // 结果为 3List集合的概念和特点1、list集合是有序的可以精确的控制列表中每个元素的插入位置可以通过证书索引访问元素并搜索列表中的元素2、set集合是无序的不允许存入重复的数据List集合的特点
有序存储和取出的元素顺序一致
可重复存储的元素可以重复创建 List
除了使用 ArrayList 和 LinkedList在 JDK9 及其以后的版本中我们还可以通过 List 接口提供的 of() 方法根据给定元素快速创建 List
1ListInteger list List.of(1, 2, 3);注意但是 List.of() 方法不接受 null 值如果传入 null会抛出 NullPointerException 异常。 遍历List 1、for循环和数组类型我们要遍历一个 List完全可以用 for 循环根据索引配合 get(int) 方法遍历 ListString list List.of(apple, pear, banana);
for (int i 0; i list.size(); i) {String s list.get(i);System.out.println(s);
}2、迭代器Iterator 对象有两个方法boolean hasNext() 判断是否有下一个元素E next() 返回下一个元素。因此使用 Iterator 遍历 List 代码如下 ListString list List.of(apple, pear, banana);
for (IteratorString it list.iterator(); it.hasNext(); ) {String s it.next();System.out.println(s);
}3、加强版 for 循环Java 的 for each 循环就可以帮我们使用 Iterator 遍历。把上面的代码再改写如下 ListString list List.of(apple, pear, banana);
for (String s : list) {System.out.println(s);
}练习import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;public class Solution {public void myMethod() throws Exception{ListString list new ArrayList();list.add(apple);list.add(pear);list.add(banana);System.out.println(使用普通的for循环遍历);for (int i0; ilist.size(); i) {String s list.get(i);System.out.println(s);}System.out.println(使用迭代器Iterator遍历);for (IteratorString it list.iterator(); it.hasNext(); ) {String s it.next();System.out.println(s);}System.out.println(使用增强版for循环);for (String s : list) {System.out.println(s);}}
}