Java集合--------16

这篇博客详细介绍了Java中的ArrayList集合,包括泛型的使用、ArrayList的方法、泛型的实例以及迭代操作。讲解了如何通过泛型限制集合的数据类型,提供代码示例,并深入探讨了使用Iterator和ListIterator遍历并操作ArrayList的各种方式,如添加、删除、替换元素等。此外,还提及了LinkedList在队列和栈模式的应用,以及HashSet、Vector和Stack等其他集合。
摘要由CSDN通过智能技术生成

一、ArrayList集合的使用

1.1知识点

//创建ArrayList集合对象
ArrayList<String> list = new ArrayList<>();       <>是一种泛型

泛型:是一种数据安全的做法,规定集合应该存储怎样的数据类型

为什么要在集合中添加泛型?
        方便管理

1.2ArrayList集合方法 

package com.qf.arraylist_class;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class Test02 {

	public static void main(String[] args) {
		
		//创建ArrayList集合对象
		ArrayList<String> list = new ArrayList<>();
		
		//添加元素
		list.add("椎名空");
		list.add("张三");
		list.add("天使萌");
		list.add("佐佐木希");
		list.add("古川伊织");
		list.add("京香Julia");
		
		//在指定下标上插入元素
		list.add(3, "上原亚衣");
		
		//通过下标设置元素
		list.set(1, "王五");
		
		//将newList1中所有的元素添加到list集合的末尾
		ArrayList<String> newList1 = new ArrayList<>();
		Collections.addAll(newList1, "aaa","bbb","ccc","ccc");//利用集合工具类对集合进行批量添加
		list.addAll(newList1);
		
		//将newList2中所有的元素添加到list集合指定下标的位置
		ArrayList<String> newList2 = new ArrayList<>();
		Collections.addAll(newList2, "xxx","yyy","zzz","zzz");//利用集合工具类对集合进行批量添加
		list.addAll(3, newList2);
		
		//通过下标获取元素
		String name = list.get(1);
		System.out.println("通过下标获取元素:" + name);
		
		//获取元素个数
		int size = list.size();
		System.out.println("获取元素个数:" + size);
		
		//清空集合中所有的元素
		//list.clear();
		
		System.out.println("判断集合中是否有指定元素:" + list.contains("天使萌"));//true
		System.out.println("判断集合中是否有指定集合(判断包含关系):" + list.containsAll(newList1));//true
		System.out.println("判断集合中是否没有元素:" + list.isEmpty());//false (true-没有元素 false-有元素)
		
		System.out.println("获取元素在集合中第一次出现的下标:" + list.indexOf("zzz"));//5
		System.out.println("获取元素在集合中最后一次出现的下标:" + list.lastIndexOf("zzz"));//6
		
		//依据元素删除元素
		list.remove("上原亚衣");
		//依据下标删除元素
		list.remove(1);
		
		//去除交集
		list.removeAll(newList1);
		
		//保留交集
		list.retainAll(newList2);
		
		//从开始下标处(包含)截取到结束下标处(不包含),返回新的集合
		List<String> subList = list.subList(1, 3);
		//将集合转换为数组
		Object[] array = subList.toArray();
		System.out.println(Arrays.toString(array));
		
		System.out.println("---------------");
		
		//遍历1 - for循环
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}
		
		System.out.println("---------------");
		
		//遍历2 - foreach
		for (String element : list) {
			System.out.println(element);
		}
		
		System.out.println("---------------");
		
		//遍历3 - Iterator
		Iterator<String> it = list.iterator();
		while(it.hasNext()){//判断是否有下一个可迭代的元素
			String next = it.next();//返回下一个元素
			System.out.println(next);
		}
		
		System.out.println("---------------");
		
		//遍历4 - ListIterator
		ListIterator<String> listIterator = list.listIterator();
		while(listIterator.hasNext()) {//判断是否有下一个可迭代的元素
			String next = listIterator.next();//返回下一个元素
			System.out.println(next);
		}
	}
}

 1.3泛型市列

package com.qf.generic01;

/**
 * <> -- 泛型
 *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值