No. | 方法 | 类型 | 描述 |
1 | public void add(int index, E element) | 普通 | 在指定位置增加元素 |
2 | public boolean addAll(int index, Collection<? extends E> c) | 普通 | 在指定位置增加一组元素 |
3 | E get(int index) | 普通 | 返回指定位置的元素 |
4 | public int indexOf(Object o) | 普通 | 查找指定元素的位置 |
5 | public int lastIndexOf(Object o) | 普通 | 从后向前查找指定元素的位置 |
6 | public ListIterator<E> listIterator() | 普通 | 为ListIterator接口实例化 |
7 | public E remove(int index) | 普通 | 按指定的位置删除元素 |
8 | public List<E> subList(int fromIndex, int toIndex) | 普通 | 取出集合中的子集合 |
9 | public E set(int index, E element) | 普通 | 替换指定位置的元素 |
package com.pb.demo1;public class Person { PRivate String name; private int age; public Person() {}public Person(String name, int age) { this.name = name; this.age = age;}public String getName() { return name;}public void setName(String name) { this.name = name;}public int getAge() { return age;}public void setAge(int age) { this.age = age;} }
package com.pb.demo1;import java.util.ArrayList;import java.util.List;public class PersonArrayListTest { public static void main(String[] args) { /* * 创建多个Person对象并赋值 */ Person p1 = new Person("张三",21); Person p2 = new Person("李四",22); Person p3 = new Person("王五",23); //创建ArrayList List<Person> personlist=new ArrayList<Person>(); //为集合添加对象 personlist.add(p1); personlist.add(p2); personlist.add(p3); //输出集合的长度 System.out.println("集合长度:"+personlist.size()); //遍历集合for循环 for(int i=0; i<personlist.size();i++){ System.out.println("姓名:"+personlist.get(i).getName()+"年龄:"+personlist.get(i).getAge()); } //使用索引添加 Person p4 = new Person("赵六",24); /* * 使用索引添加时必须知道长度才可以正确增加,如果添加的索引大于最后一个下标+1, * 编译可以通过但运行时会报错 * 例如:如查长度为3,下标是从0开始到2,这时使用索引添加值索引可以是(0~3)都可以,但是不能是4 */ personlist.add(0, p4); //输出集合的长度 System.out.println("集合长度:"+personlist.size()); ////遍历集合forearch循环 for (Person p : personlist) { System.out.println("姓名:"+p.getName()+"年龄:"+p.getAge()); } //查找集合中是否有p4对象true代表有,false代表没有 System.out.println("查找集合中是否有p4对象:"+personlist.contains(p4)); //p2元素所在的下标从前向后 System.out.println("p2元素所在的下标从前向后:"+ personlist.indexOf(p2)); //p2元素所在的下标从后向前 System.out.println("p2元素所在的下标从后向前:"+ personlist.lastIndexOf(p2)); }}五、LinkedList例子
package com.pb.demo1;import java.util.LinkedList;import java.util.List;public class PersonLinkedListTest { public static void main(String[] args) { /* * 创建多个Person对象并赋值 */ Person p1 = new Person("张三",21); Person p2 = new Person("李四",22); Person p3 = new Person("王五",23); Person p4 = new Person("赵六",24); Person p5 = new Person("钱七",25); //创建LinkedList LinkedList<Person>plist=new LinkedList<Person>(); plist.add(p1); plist.add(p2); plist.add(p3); //集合长度 System.out.println("集合长度"+plist.size()); //遍历集合 for (Person p : plist) { System.out.println("姓名:"+p.getName()+"年龄:"+p.getAge()); } //在第一个和最后一个添加对象 plist.addFirst(p4); plist.addLast(p5); System.out.println("===========添加数据================="); //集合长度 System.out.println("集合长度"+plist.size()); //遍历集合 for (Person p : plist) { System.out.println("姓名:"+p.getName()+"年龄:"+p.getAge()); } //获取指定下标的元素:下标要已经存在如果不存在运行后将报错 System.out.println("获取指定下标的元素:"+plist.get(4).getName()); System.out.println("===========按下标移除================="); //移除元素remove,按下标移除 plist.remove(0); //集合长度 System.out.println("集合长度"+plist.size()); //遍历集合 for (Person p : plist) { System.out.println("姓名:"+p.getName()+"年龄:"+p.getAge()); } System.out.println("===========直接移除对象================="); //移除元素remove 直接移除对象, plist.remove(p2); //集合长度 System.out.println("集合长度"+plist.size()); //遍历集合 for (Person p : plist) { System.out.println("姓名:"+p.getName()+"年龄:"+p.getAge()); } System.out.println("===========移除第一个或者最后一个================="); //移除元素移除第一个或者最后一个 plist.removeFirst(); plist.removeLast(); //集合长度 System.out.println("集合长度"+plist.size()); //遍历集合 for (Person p : plist) { System.out.println("姓名:"+p.getName()+"年龄:"+p.getAge()); } System.out.println("===========移除全部================="); //移除全部元素clear方法 plist.clear(); //集合长度 System.out.println("集合长度"+plist.size()); //遍历集合 for (Person p : plist) { System.out.println("姓名:"+p.getName()+"年龄:"+p.getAge()); } }}六、Vector类在List接口中还有一个子类:Vector,Vector类属于一个挽救的子类,从整个JAVA的集合发展历史来看,Vector算是一个元老级的类,在JDK 1.0的时候就已经存在类此类。但是到了JAVA 2(JDK 1.2)之后重点强调了集合框架的概念,所以先后定义了很多的新接口(如:List等),但是考虑到一大部分的人已经习惯了使用Vector类,所以JAVA的设计者,就让Vector类多实现了一个List接口,这才将其保留下来。但是因为其是List子类,所以Vector类的使用与之前的并没有太大的区别。
package com.pb.demo1;import java.util.Vector;public class VectorTest { public static void main(String[] args) { Vector<String> plist=new Vector<String>(); plist.add("张三"); plist.add("李四"); plist.add("王五"); plist.add("赵六"); System.out.println("长度:"+plist.size()); for (String s : plist) { System.out.println(s); } }}
新闻热点
疑难解答