Collection

1.Collection    接口
 *         List      存储的对象是有序的(元素的顺序与添加元素的顺序保持一致),可以重复的.
 *             ArrayList:底层的数据结构是数组,线程不安全的,查找速度快,添加删除速度慢
 *             Vector :底层的数据结构是数组,线程安全的,查找速度快,添加删除速度慢
 *             LinkedList :底层的数据结构是链表,线程不安全的,查找速度慢,添加删除速度快
 *         Set       存储的对象是无序的,不可以重复
 *             HashSet    类
 *             TreeSet   类

package com.test;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/*
 * 1.Collection    接口
 * 		List      存储的对象是有序的(元素的顺序与添加元素的顺序保持一致),可以重复的.
 * 			ArrayList:底层的数据结构是数组,线程不安全的,查找速度快,添加删除速度慢
 * 			Vector :底层的数据结构是数组,线程安全的,查找速度快,添加删除速度慢
 * 			LinkedList :底层的数据结构是链表,线程不安全的,查找速度慢,添加删除速度快
 * 		Set       存储的对象是无序的,不可以重复
 * 			HashSet    类
 * 			TreeSet   类
 */
public class Demo8 {
	public static void main(String[] args) {
		// * List:特有方法,可以操作下标
		List list = new ArrayList();
		// 1.增:
		// void add(int index, E element)
		list.add(0, "java");
		list.add("html");
		list.add("html2");
		list.add("html3");
		list.add("html4");
		list.add(0, "python");
		System.out.println(list);// [python, java, html, html2, html3, html4]
		// boolean addAll(int index, Collection<? extends E> c)

		// 2.删
		// E remove(int index) 删除指定位置的元素 E就是我们要删除的元素
		System.out.println(list.remove(0));// python,是被删除的元素
		System.out.println(list);// [java, html, html2, html3, html4]
		// 3.改
		// E set(int index, E element) 返回的是被替换的元素
		System.out.println(list.set(0, "BigData"));// java
		System.out.println(list);// [BigData, html, html2, html3, html4]
		// 4.查
		// ListIterator<E> listIterator()
		test();
		// 返回此列表元素的列表迭代器(按适当顺序)。
		// ListIterator<E> listIterator(int index)
		// List<E> subList(int fromIndex, int toIndex) 包含开头不包含结尾
		System.out.println(list.subList(1, 3));// [html, html2]
		// E get(int index) 根据下标取元素
		System.out.println(list.get(0));// BigData
		// 5.删除全部对象
	}

	// 4.查
	// ListIterator<E> listIterator()
	public static void test() {
		List list = new ArrayList();

		list.add(0, "java");
		list.add("html");
		list.add("html2");
		list.add("html3");
		list.add("html4");
		list.add(0, "python");

		// 1.先获取迭代器对象
		ListIterator iterator = list.listIterator();
		// 从左到右遍历
		while (iterator.hasNext()) {//使用hasNext()检查序列中是否还有元素,将当前的元素取出,将指针指向他右边的元素
			Object object = (Object) iterator.next();
			System.out.println("元素=" + object);// 元素=python,元素=java,元素=html,元素=html2,元素=html3,元素=html4
		}
		// 从右到左遍历
		while (iterator.hasPrevious()) {//
			Object object = (Object) iterator.previous();// 将当前的元素取出,将指针指向他左边的元素
			System.out.println("反向:" + object);// 反向:html4,反向:html3,反向:html2,反向:html,反向:java,反向:python
		}

		// 注意事项:
		while (iterator.hasNext()) {
			Object object = (Object) iterator.next();
			System.out.println("元素=" + object);// 元素=python,元素=java,元素=html,元素=html2,元素=html3,元素=html4

			// 要将java删除
			if (object.equals("java")) {
				// 在使用迭代器期间使用list直接对元素进行删除,有时会发生错误.所以不要这样做.
				// list.remove("java");
				// 使用迭代器的自带方法删除
				// 注意:在使用remove,set,add方法时,尽量不要同时使用.
				iterator.remove();
			}
		}
		System.out.println(list);// [python, html, html2, html3, html4]
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值