/*
*此处简单的罗列了一些集合的共有方法的使用,List集合的特有方法的使用,以及Vector集合特有的迭代方法的使用。
*/
package classfile;
import java.util.*;
public class ArrayListDemo
{
public static void main(String[] args)
{
method_collection();
System.out.println("----------------------------------------------------------------");
method_list();
System.out.println("----------------------------------------------------------------");
method_vector();//Vector特有的方法
}
//Collection的共有的方法
public static void method_collection()
{
method_createOne();
method_deleteOne();
method_readOne();
}
//List特有的方法
public static void method_list()
{
method_createTwo();
method_deleteTwo();
method_readTwo();
method_update();
method_listIterator();
}
//Collection的添加方法
public static void method_createOne()
{
ArrayList<String> alOne = new ArrayList<String>();
ArrayList<String> alTwo = new ArrayList<String>();
//添加元素单个元素
alOne.add("abc");
alOne.add("def");
System.out.println(alOne);
//添加一个集合
alTwo.addAll(alOne);
System.out.println(alTwo);
}
//Collection的删除方法
public static void method_deleteOne()
{
ArrayList<String> alOne = new ArrayList<String>();
ArrayList<String> alTwo = new ArrayList<String>();
alOne.add("abc");
alOne.add("def");
alOne.add("ghi");
alOne.add("jkl");
System.out.println("alOne:"+alOne);
alTwo.add("abc");
alTwo.add("jkl");
alTwo.add("mn");
alTwo.add("opq");
System.out.println("alTwo:"+alTwo);
//移除一个元素
alOne.remove("abc");
System.out.println("alOne移除一个元素:"+alOne);
//移除与参数集合的元素的交集
//alOne.removeAll(alTwo);
//System.out.println("alOne被移除与alTwo的交集:"+alOne);
//保留与参数集合的交集,移除其它所有的元素
//alOne.retainAll(alTwo);
//System.out.println("alOne仅保留与alTwo的交集:"+alOne);
//在迭代的时候删除元素
Iterator<String> iterator = alOne.iterator();
while(iterator.hasNext())
{
if(iterator.next().equals("ghi"))
{
iterator.remove();
}
}
System.out.println("迭代过程中删除元素:"+alOne);
//清空集合
alOne.clear();
System.out.println("alOne被清空:"+alOne);
}
//Collection的获取方法
public static void method_readOne()
{
ArrayList<String> alOne = new ArrayList<String>();
ArrayList<String> alTwo = new ArrayList<String>();
alOne.add("abc");
alOne.add("def");
alOne.add("ghi");
alOne.add("jkl");
alOne.add("mn");
System.out.println("alOne:"+alOne);
alTwo.add("abc");
alTwo.add("def");
System.out.println("alTwo"+alTwo);
//判断集合中是否包含某一个元素
System.out.println("alOne中是否包含abc:"+alOne.contains("abc"));
//判断集合中是否包含参数集合中的所有元素
System.out.println("alOne中是否包含alTwo中的所有元素:"+alOne.containsAll(alTwo));
//判断集合是否为空
System.out.println("alOne集合是否为空:"+alOne.isEmpty());
//获取集合中元素的个数
System.out.println("alOne中元素的个数为:"+alOne.size());
//获取集合的迭代器,用于遍历集合中的元素
Iterator<String> iterator = alOne.iterator();
while(iterator.hasNext())
{
System.out.println("alOne中的元素:"+iterator.next());
}
//用for循环使用迭代器,这种方式更能够优化内存
for(Iterator<String> it = alTwo.iterator();it.hasNext();)
{
System.out.println("alTwo中的元素:"+it.next());
}
//获取集合中所有元素组成的数组
Object[] arrOne = alOne.toArray();
for(int i=0;i<arrOne.length;i++)
{
System.out.println("集合转数组1:"+arrOne[i]);
}
//将集合中的所有元素,存入指定的数组。如果数组的长度不够,则创建一个新的数组。
String[] arrTwo = new String[]{"a","b","c","d","e","f","g"};
arrTwo = alOne.toArray(arrTwo);
for(int i=0;i<arrTwo.length;i++)
{
System.out.println("集合专数组2:"+arrTwo[i]);
}
//集合转数组3,创建一个长度刚刚好的数组。
String[] arrThree = alOne.toArray(new String[alOne.size()]);
for(int i=0;i<arrThree.length;i++)
{
System.out.println("集合转数组3:"+arrThree[i]);
}
}
//List特有的添加方法
public static void method_createTwo()
{
ArrayList<String> alOne = new ArrayList<String>();
ArrayList<String> alTwo = new ArrayList<String>();
alOne.add("abc");
alOne.add("def");
alOne.add("ghi");
alOne.add("jkl");
alOne.add("mn");
System.out.println("alOne:"+alOne);
alTwo.add("rst");
alTwo.add("uvw");
System.out.println("alTwo:"+alTwo);
//在某一角标位插入一个元素
alOne.add(2,"opq");
System.out.println("alOne插入元素后:"+alOne);
//在某一角标位插入参数集合中的所有元素
alOne.addAll(2,alTwo);
System.out.println("alOne插入alTwo中的元素:"+alOne);
}
//List特有的删除方法
public static void method_deleteTwo()
{
ArrayList<String> alOne = new ArrayList<String>();
alOne.add("abc");
alOne.add("def");
alOne.add("ghi");
alOne.add("jkl");
alOne.add("mn");
System.out.println("alOne:"+alOne);
//删除指定角标处的元素
alOne.remove(2);
System.out.println("alOne删除指定角标处的元素后:"+alOne);
}
//List特有的查询方法
public static void method_readTwo()
{
ArrayList<String> alOne = new ArrayList<String>();
alOne.add("abc");
alOne.add("def");
alOne.add("ghi");
alOne.add("jkl");
alOne.add("mn");
alOne.add("def");
System.out.println("alOne:"+alOne);
//获取集合中指定索引处的值
System.out.println("alOne中索引2处的值为:"+alOne.get(2));
//使用get方法遍历集合
for(int i=0;i<alOne.size();i++)
{
System.out.println("使用get遍历alOne集合:"+alOne.get(i));
}
//获取集合中指定元素的第一次出现的索引
System.out.println("alOne中def第一次出现处的索引为:"+alOne.indexOf("def"));
//获取集合中指定元素的最后一次出现的索引
System.out.println("alOne中def最后一次出现处的索引为:"+alOne.lastIndexOf("def"));
//获取列表迭代器
for(ListIterator<String> listIterator = alOne.listIterator();listIterator.hasNext();)
{
System.out.println("alOne中的元素1:"+listIterator.next());
}
//获取集合中指定索引之后的列表迭代器,包含指定的索引
for(ListIterator<String> listIterator = alOne.listIterator(3);listIterator.hasNext();)
{
System.out.println("alOne中的元素2:"+listIterator.next());
}
//获取集合的指定子集合,注意返回的集合的类型是List
List<String> subList = alOne.subList(1,4);
System.out.println("alOne的子集合为:"+subList);
}
//List的修改
public static void method_update()
{
ArrayList<String> alOne = new ArrayList<String>();
ArrayList<String> alTwo = new ArrayList<String>();
alOne.add("abc");
alOne.add("def");
alOne.add("ghi");
alOne.add("jkl");
alOne.add("mn");
alOne.add("def");
System.out.println("alOne:"+alOne);
alTwo.add("abc");
alTwo.add("def");
System.out.println(alTwo);
//修改集合中指定索引处的值,返回值为原来的元素
System.out.println("alOne中被修改的旧值为:"+alOne.set(1,"opq"));
System.out.println("alOne被修改后的内容为:"+alOne);
//将集合的容量调整为当前元素个数的大小,节省内存空间
alTwo.trimToSize();
}
//ListIterator
public static void method_listIterator()
{
ArrayList<String> alOne = new ArrayList<String>();
alOne.add("abc");
alOne.add("def");
alOne.add("ghi");
alOne.add("jkl");
alOne.add("mn");
System.out.println("alOne:"+alOne);
//用列表迭代器向集合中添加元素,插入到下一次next之前或者下一次previous之后
for(ListIterator<String> listIterator = alOne.listIterator();listIterator.hasNext();)
{
if(listIterator.next().equals("def"))
{
listIterator.add("opq");
}
}
System.out.println("插入元素之后的alOne:"+alOne);
//用列表迭代器修改集合中的元素
for(ListIterator<String> listIterator = alOne.listIterator();listIterator.hasNext();)
{
if(listIterator.next().equals("def"))
{
listIterator.set("rst");
}
}
System.out.println("修改元素之后的alOne:"+alOne);
//获取集合的迭代器
ListIterator<String> listIterator = alOne.listIterator();
while(listIterator.hasNext())
{
System.out.println("正向遍历alOne:"+listIterator.next());
}
while(listIterator.hasPrevious())
{
System.out.println("逆向遍历alone:"+listIterator.previous());
}
}
//Vector
public static void method_vector()
{
Vector<String> vector = new Vector<String>();
vector.add("abc");
vector.add("def");
vector.add("ghi");
vector.add("jkl");
System.out.println("vector:"+vector);
//用vector特有的方法枚举来迭代其中的元素
for(Enumeration<String> enumeration = vector.elements();enumeration.hasMoreElements();)
{
System.out.println("使用枚举迭代vector:"+enumeration.nextElement());
}
}
}
List
最新推荐文章于 2023-11-28 08:00:00 发布