Java---26---List集合共性方法

List中元素是有序的,元素可以重复,因为该集合有索引。

方法摘要
 boolean add(E e)

向列表的尾部添加指定的元素(可选操作)。

 void add(int index, E element)

在列表的指定位置插入指定元素(可选操作)。

 boolean addAll(Collection<? extends
E> c)

添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序(可选操作)。

 boolean addAll(int index, Collection<? extends E> c)

将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。

 void clear()

从列表中移除所有元素(可选操作)。

 boolean contains(Object o)

如果列表包含指定的元素,则返回 true

 boolean containsAll(Collection<?> c)

如果列表包含指定 collection 的所有元素,则返回 true

 boolean equals(Object o)

比较指定的对象与列表是否相等。

 E get(int index)

返回列表中指定位置的元素。

 int hashCode()

返回列表的哈希码值。

 int indexOf(Object o)

返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。

 boolean isEmpty()

如果列表不包含元素,则返回 true

 Iterator<E> iterator()

返回按适当顺序在列表的元素上进行迭代的迭代器。

 int lastIndexOf(Object o)

返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。

 ListIterator<E> listIterator()

返回此列表元素的列表迭代器(按适当顺序)。

 ListIterator<E> listIterator(int index)

返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。

 E remove(int index)

移除列表中指定位置的元素(可选操作)。

 boolean remove(Object o)

从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。

 boolean removeAll(Collection<?> c)

从列表中移除指定 collection 中包含的其所有元素(可选操作)。

 boolean retainAll(Collection<?> c)

仅在列表中保留指定 collection 中所包含的元素(可选操作)。

 E set(int index, E element)

用指定元素替换列表中指定位置的元素(可选操作)。

 int size()

返回列表中的元素数。

 List<E> subList(int fromIndex, int toIndex)

返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。

 Object[] toArray()

返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。

<T> T[]
toArray(T[] a)

返回按适当顺序(从第一个元素到最后一个元素)包含列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。

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

/**
 *
 * List中特有的方法:凡是可以操作角标的方法都是
 *
 * 增 add (index,element); addAll (index,Collection); 删 remove (index); 改 set
 * (index,element); 查 get (index); subList (from,to); listIterator ();
 *
 * @author Caesar
 *
 *         List集合特有的迭代器,ListIterator是iterator的子接口 在迭代时,不可以通过集合对象的方法操作集合中的元素
 *         只能对元素进行判断,取出,删除的操作 如果想要其他的操作,如添加,修改等,就需要使用期子接口ListIterator
 *         该接口只能通过List集合的ListIterator方法获取。
 */

public class ListDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// method_1();
		method_2();
	}

	public static void method_2() {
		// 演示列表迭代器
		ArrayList al = new ArrayList();
		al.add("01");
		al.add("02");
		al.add("03");

		/*
		 * // 在迭代过程中准备添加或者删除元素 Iterator it = al.iterator(); 迭代器操作 while
		 * (it.hasNext()) { Object object = it.next(); if (object.equals("02"))
		 * { //al.add("05");//并发访问,可能会产生安全隐患,不能对同一组元素同时进行不同的操作 it.remove
		 * ();//集合容器中的02也会被删除,将02的引用从集合中删除 //迭代器操作中没有添加操作。 } sop(it.next()); }
		 */
		ListIterator li = al.listIterator();
		while (li.hasNext()) {
			Object object = li.next();
			if (object.equals("02")) {
				li.add("08");
			}
		}
		sop(al);
		sop(li.hasNext());
		sop(li.hasPrevious());

		// 反向遍历
		while (li.hasPrevious()) {
			sop(li.previous());
		}

	}

	public static void method_1() {
		ArrayList al = new ArrayList();
		al.add("01");
		al.add("02");
		al.add("03");

		sop("原集合是:" + al);

		// 在指定位置添加元素
		al.add(1, "09");

		sop(al);

		// 删除元素
		al.remove(2);
		sop(al);
		// 修改元素
		al.set(0, "00000005");
		sop(al);

		// 通过角标获取元素

		sop("get 2 =  " + al.get(2));

		// 获取所有元素

		for (int x = 0; x < al.size(); x++) {
			System.out.println(al.get(x));
		}
		Iterator it = al.iterator();
		while (it.hasNext()) {

			sop(it.next());
		}

		// 通过indexOf 获取对象的位置

		sop("index = " + al.indexOf("03"));

		List sub = al.subList(1, 3);
		sop(sub);
	}

	public static void sop(Object obj) {
		System.out.println(obj);
	}

}
时间: 2024-10-23 16:54:16

Java---26---List集合共性方法的相关文章

黑马程序员——java基础 ArrayList集合基本方法演示

java基础 ArrayList集合基本方法演示 import java.util.ArrayList; import java.util.Iterator; public class ArrayListDemos { public static void main(String[] args) { // 创建一个新的容器 ArrayList al = new ArrayList(); al.add("abc1"); al.add("abc2"); al.add(&

Java List Map集合遍历方法

Map遍历 方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. [java] view plain copy Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Map.Entry<Integer, Integer> entry : map.entrySet()) { System.out.println(&qu

集合中list、ArrayList、LinkedList、Vector的区别、Collection接口的共性方法以及数据结构的总结

List (链表|线性表) 特点: 接口,可存放重复元素,元素存取是有序的,允许在指定位置插入元素,并通过索引来访问元素 1.创建一个用指定可视行数初始化的新滚动列表.默认情况下,不允许进行多项选择. 注意,这是 List(rows, false) 的一种便捷方法.还要注意,列表中的可视行数一旦创建就不能更改. public List(int rows)------------------row-----要显示的项数 2.创建一个初始化为显示指定行数的新滚动列表. 注意,如果指定了零行,则会按默

JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习

JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中,也是能看到他的,所以还是非常值得去学习的一个知识点的,我们直接开车了 一.Map概述 泛型< k,v> 键值对,映射关系 基本特点 该集合存储键值对,是一对一对往里存,而且要保证键的唯一性 1.添加 put(key ,values) putAll() 2.删除 clear() remove(ob

《Java虚拟机原理图解》1.5、 class文件中的方法表集合--method方法在class文件中是怎样组织的

0. 前言 了解JVM虚拟机原理是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的. 感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成<Java虚拟机原理图解> 这个系列,以图解的形式,将抽象的JVM虚拟机的知识具体化,希望能够对想了解Java虚拟机原理的的Java程序员 提供点帮助.

java 程序语言中的LinkedList 集合基本方法演示

java 程序语言中的LinkedList 集合基本方法演示 import java.util.Iterator; import java.util.LinkedList; public class LinkedListDemos { public static void main(String[] args) { // 新建一个容器 LinkedList link = new LinkedList(); link.addFirst("abc1"); link.addFirst(&qu

深入理解java集合框架之---------Arraylist集合 -----添加方法

Arraylist集合 -----添加方法 1.add(E e) 向集合中添加元素 /** * 检查数组容量是否够用 * @param minCapacity */ public void ensureCapacity(int minCapacity){ modCount++; int oldCapacity = elementData.length; if(minCapacity > oldCapacity){ Object oldData[] = elementData; int newCa

《Java虚拟机原理图解》6、 class文件中的方法表集合--method方法在class文件中是怎样组织的

0. 前言 了解JVM虚拟机原理是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的. 感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成<Java虚拟机原理图解> 这个系列,以图解的形式,将抽象的JVM虚拟机的知识具体化,希望能够对想了解Java虚拟机原理的的Java程序员 提供点帮助.

黑马程序员——【Java基础】——集合框架

一.集合框架概述 (一)集合框架中集合类关系简化图 (二)为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是用于存储对象的. (三)数组和集合类同是容器,有何不同? .数组长度是固定的:集合长度是可变的. 2.数组中可以存储基本数据类型,集合只能存储对象. (四)集合类的特点 集合可以存储不同类型的对象.集合只用于存储对象,集合长度是可变的. (五)为什么会出现这么多容器? 因为每一个容器对数据的存储方式都有不同,这个存储方式称