java API中提供的ArrayList的常用方法

根据java1.6 的API整理一下Arraylist的几个常用方法。

三个构造函数

1.public ArrayList(int initialCapacity);

构造一个具有指定初始容量的空列表

2.pubilc ArrayList();

构造一个初始容量为10的空列表

3.public ArrayList(Collection<> c)

构造一个包含指定collection的元素的列表。

若collection为null,会抛出NullPointerException

其他常用方法

4.trimToSize

public void trimToSize();

将此ArrayList的容量调整为列表的当前大小。应用程序可以使用此操作来最小化
ArrayList 实例的存储量。

5.size

public int size();

返回此列表中的元素数。

6.isEmpty

public boolean isEmpty();

如果此列表中没有元素,则返回 true

7.contains

 public boolean contains(Object o);

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

8.indexOf

 public int indexOf(Object o)

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

9.lastIndexOf

 public int lastIndexOf(Object o)

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

10.toArray

public Object[] toArray();

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

由于此列表不维护对返回数组的任何引用,,因而它将是“安全的”。(换句话说,此方法必须分配一个新的数组)。因此,调用者可以自由地修改返回的数组。

此方法担当基于数组的 API 和基于 collection 的 API 之间的桥梁。

11.get

public E get(int index);

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

12.set

public E set(int index, E element);

用指定的元素替代此列表中指定位置上的元素。返回值为以前位于该指定位置上的元素

13.add

public boolean add(E element);

将指定的元素添加到此列表的尾部。添加成功返回true

14.add

public void add(int index, E element)

将指定的元素插入此列表中的指定位置。向右移动当前位于该位置的元素(如果有)以及所有后续元素(将其索引加 1)。

15.remove

public E remove(int index)

移除此列表中指定位置的元素,返回从列表中移除的元素

16.remove

public boolean remove(Object o)

移除此列表中首次出现的指定元素(如果存在)。如果列表不包含此元素,则列表不做改动。

17.clear

public void clear()

移除此列表中的所有元素。此调用返回后,列表将为空

18.addAll

public boolean addAll(Collection c)

按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部

19.addAll

public boolean addAll(int index, Collection c)

从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。

20.removeRange

protected void removeRange(int fromIndex, int endIndex);

移除列表中索引在 fromIndex(包括)和
toIndex(不包括)之间的所有元素。向左移动所有后续元素(减小其索引)。此调用将列表缩短了 (toIndex - fromIndex) 个元素。(如果
toIndex==fromIndex,则此操作无效。)

package collection;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class arraylistTest {
	public static Random random = new Random();
	public static char[] charArray = {};

	public static void main(String [] args){
		List<String> list = new ArrayList<String>();
		//往list加入10个随机字符串
		for(int i = 0;i < 10 ;i++){
			list.add(arraylistTest.GenRandomString(5));
		}
		//往list中插入一个固定字符串
		list.add("abc");
		//1.判断arraylist是否为空
		boolean isEmpty = list.isEmpty();
		System.out.println("arraylist是否为空:" + isEmpty);
		//2.返回列表中的元素数
		int size = list.size();
		System.out.println("arraylist中的元素个数为:" + size);
		//3.判断arrayList中是否含有指定元素
		boolean isExist = list.contains("abc");
		System.out.println("arraylist中是否含有abc:" + isExist);
		//4.返回arraylist中元素第一次出现的位置,若没有则返回-1
		int index = list.indexOf("abc");
		System.out.println("arraylist中第一次出现abc的位置是" + index);
		//5.返回arraylist中元素最后一次出现的位置,若没有则返回-1
		int lastIndex = list.lastIndexOf("abc");
		System.out.println("arraylist最后一次出现abc的位置是" + lastIndex);
		//6.返回包含此列表中所有元素的数组(按顺序),相当于数组 API和collection API的桥梁,返回一个object的数组
		Object[] objectArray = list.toArray();
		System.out.println("生成的数组为");
		for(Object obj : objectArray){
			System.out.println(obj);
		}
		//7.返回列表中指定位置的元素,如果超出返回,则会抛出IndexOutOfBoundsException
		String s = list.get(0);
		System.out.println("列表中第一个元素是:" + s);
		//8.用指定的元素替代此列表中指定位置上的元素,返回值是以前位于该位上的元素
		String old = list.set(0, "abc");
		System.out.println("第一个元素" + old + "被替换成了abc");
		//9.将元素插入到列表的尾部
		System.out.println("是否插入成功:" + list.add("def"));
		//10.将元素插入到指定位置,返回类型为void
		list.add(0, "ghi");
		//11.移除指定位置的元素
		System.out.println("元素" + list.remove(0) + "已被移除");
		//12.移除此列表中首次出现的指定元素(如果存在)
		System.out.println("元素是否被移除:" + list.remove("abc"));
		//13.按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部
		List<String> list2 = new ArrayList<String>();
		list2.add(arraylistTest.GenRandomString(5));
		list2.add(arraylistTest.GenRandomString(5));
		list.addAll(list2);
		System.out.println("新列表为:");
		for(String str: list){
			System.out.println(str);
		}
		//14.移除列表中所有元素
		list.clear();
		System.out.println("移除所有元素后列表的长度为:" + list.size());
	}

	//生成指定长度的随机字符串
	public static String GenRandomString(int length){
		charArray = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
		char[] randomChar = new char [length];
		for(int i = 0; i < randomChar.length; i++){
			randomChar[i] = charArray[random.nextInt(61)];
		}
		return new String(randomChar);
	}

}
时间: 2024-10-19 00:30:13

java API中提供的ArrayList的常用方法的相关文章

java API中提供的HashMap的常用方法

根据java1.6 的API整理一下HashMap的几个常用方法. 1.size public int size(); 返回此映射中的键-值映射关系数 2.isEmpty public boolean isEmpty() 判断此map是否不包含键-值映射关系 3.get public V get(Object key) 返回指定键所映射的值:如果对于该键来说,此映射不包含任何映射关系,则返回 null.返回 null 值并不一定表明该映射不包含该键的映射关系:也可能该映射将该键显示地映射为 nu

Java基础----Java API中的常用类

System:描述系统的一些信息 preperties();获取系统信息 Properties prop =new System.getProperties(); 是hashtable 的子类.用map的方法去除该类集合中的元素.该集合中存储的都是字符串,没有泛型定义. String calue=(String)prop.get(obj); System.out.println(obj+":"+value); //如何在系统中自定义一些特有信息? System.setProperty(

Iterator pattern 及其在java API中的运用

1.问题: 当我们看到java中的Collection,List,Set,Map等集合类时都可以用Iterator进行遍历元素时,我们是否感到很神奇.我们不禁要问java是如何实现这一目标的.这就是我今天要谈的话题. 根据Iterator pattern模式我把java中的集合类分为四类:即: Iterator(抽象迭代器对应于java中的Iterator,其实java这个Iterator还有抽象聚合的功能,因为它实现了Iterable这个接口,而Iterable这个接口就是个抽象聚合类.),

通过查询java API中的String类完成任务

package com.String;public class A {     public static void main(String[] args) {         String str = "this is a test of java";         t1(str);// static方法可直接调用         t2(str);         t3(str);         t4(str);         t5(str);         t6(str);

Java中List和ArrayList的区别(加入了个人见解)

转载自:http://www.cnblogs.com/aisiteru/articles/1151874.html 第一次看这篇文章时,是在CSDN博客中看到的,作者写的初衷还是蛮好的,但是确实有错误的地方和不是很明 白的地方.于是就很想去看看原文,废了半天的功夫终于找到了,原文还是一样有出错和我不理解的地方,我也把原 文的地址贴在上面了.三月份学习的Java集合框架这部分,这几天拿出来整理就想再深入一点,因此也看了很多的关 于Java集合框架的文章,这篇我算是有一点点的体会,我只是改了一些我认

避免在Java+接口中使用数组的3个理由

转帖: http://eclipsesource.com/blogs/2014/04/11/3-good-reasons-to-avoid-arrays-in-java-interfaces/ 如果你发现在一个接口使用有如下定义方法: public String[] getParameters(); 那么你应该认真反思.数组不仅仅老式,而且我们有合理的理由避免暴露它们.在这篇文章中,我将试图总结在Java API中使用数组的缺陷.首先从最出人意料的一个例子开始. 数组导致性能不佳 你可能认为使用

MyBatis——Java API

Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDBC 相比, MyBatis 很大程度简化了你的代码而且保持简洁,很容易理解和维护.MyBatis 3 已经引入 了很多重要的改进来使得 SQL 映射更加优秀. 应用目录结构 在我们深入 Java API 之前,理解关于目录结构的最佳实践是很重要的.MyBatis 非常灵 活, 你可以用你自己的文件来

Java 7 中 NIO.2 的使用——第一节 Path 类的使用

路径隶属于文件系统,实际上它是存储和组织媒体文件的格式,通常在一块或多块硬盘设备上,以便于非常容易地检索.文件系统可以通过  java.nio.file.FileSystems 这个final 类来访问,通常我们用来获取它的实例然后做我们想做的事情.FileSystems 包含下面两个非常重要的方法,还有 newFileSystem() 方法,用来构建一个新的文件系统实例. getDefault(): 这个静态方法会返回一个默认的FileSystem 给 JVM——通常是操作系统默认的文件系统.

mybatis Java API

既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDBC 相比, MyBatis 很大程度简化了你的代码而且保持简洁,很容易理解和维护.MyBatis 3 已经引入 了很多重要的改进来使得 SQL 映射更加优秀. 应用目录结构 在我们深入 Java API 之前,理解关于目录结构的最佳实践是很重要的.MyBatis 非常灵 活, 你可以用你自己的文件来做几乎所有的事情.