List集合的三个子实现类(ArrayList、vector、linkedList)的一些用法

ArrayList集合

在前面我们学习了Collection以及他的子集合List,子集合中有三个实现类分别是ArrayListvectorLinkedList三个集合,接下来让我们了解一下这三个集合:

 

ArrayListList集合的一个常用子实现类,所以他可以使用List以及collection集合的方法
特点: 查询速度快,增删慢

Arraylist集合对字符串的两种遍历方式:

package com.ArrayList;
 
import java.util.ArrayList;
import java.util.Iterator;
 
public class ArrayListDome {
 
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add("Hello");
list.add("World");
list.add("javaSE");
//方式一:通过迭代器遍历
Iterator it=list.iterator();
while(it.hasNext()) {
String s=(String) it.next();
System.out.println(s);
}
System.out.println("--------------");
//方式二:通过size()和get方法遍历
for(int x=0;x<list.size();x++) {
String s1=(String)list.get(x);
System.out.println(s1);
}
}
}
运行结果:
Hello
World
javaSE
--------------
Hello
World
javaSE

对自定义对象的遍历方法:

首先创建一个自定义对象类:

package com.ArrayList;
 
public class Student {
 
private String name;
private int age;
public Student() {
super();
}
public Student(String name, int age) {
super();
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.ArrayList;
 
 
import java.util.ArrayList;
import java.util.Iterator;
 
/**
 *通过ArrayList集合遍历自定义对象
 *
 */
 
public class ArrayListStudentDome {
 

public static void main(String[] args) {
//创建ArrayList集合对象
ArrayList list=new ArrayList();
//创建学生对象
Student s1=new Student("迪丽热巴",27);
Student s2=new Student("高雯",25);
Student s3=new Student("赵星星",24);
Student s4=new Student("吴宣仪",24);
Student s5=new Student("杨颖",32);
//将学生对象导入ArrayList集合对象中
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
list.add(s5);
//方法一:使用迭代器遍历
Iterator it =list.iterator();
while(it.hasNext()) {
Student st=(Student) it.next();
System.out.println(st.getName()+"----"+st.getAge());
}
System.out.println("---------------------");
//方式二:使用size()和get()遍历
for(int x=0;x<list.size();x++) {
Student st2=(Student) list.get(x);
System.out.println(st2.getName()+"----"+st2.getAge()); 
}
}
}
运行结果:
迪丽热巴----27
高雯----25
赵星星----24
吴宣仪----24
杨颖----32
---------------------
迪丽热巴----27
高雯----25
赵星星----24
吴宣仪----24
杨颖----32

Vector集合

Vector集合也是List集合下的第二个子实现接口

  Vector集合

   底层是一种可增长对象数组,查询快,增删慢

   线程安全,同步,执行效率高

  

  Vector特有功能:

   public void addElement(Object obj)------->相当于add(Object obj)

   public Enumeration elements():返回此向量的枚举--->相当 :public Iterator iterator()迭代器

   boolean hasMoreElements()  --->相当于boolean hasNext() ;

   Object nextElement()   --->相当于Object next() ;

 例如:

package com.vector;
 
import java.util.Enumeration;
import java.util.Vector;
 
import javax.lang.model.util.Elements;
 
 
public class vectorDome {
 
public static void main(String[] args) {
//创建Vector集合的对象
Vector ve=new Vector();
//给对象添加元素
ve.addElement("element");
ve.addElement("Enumeration");
ve.addElement("elements");
//获取向量的枚举(也就是相当于ArrayList中的迭代器)
Enumeration e=ve.elements();
//进行遍历
while(e.hasMoreElements()) {
String st=(String) e.nextElement();
System.out.println(st);
}


}
}
运行结果:
element
Enumeration
Elements

LinkedList集合

LinkedList集合的特点:

底层是一种链表实现,查询慢,增删快

  线程不安全的,不同步,执行效率高

 

 linkedList特有功能:

  添加功能

  addFirst(Object e):将指定的元素插入到列表的开头

  addLast(object e):将指定的元素添加到列表末尾

  获取功能:

  getFirst():获取列表第一个元素

  getLast():获取列表最后一个元素

 

  删除功能

  public Object removeFirst()移除并返回此列表的第一个元素。

  public Object removeLast()移除并返回此列表的最后一个元素

 

 例如:

 

package com.LinkedList;
 
import java.util.LinkedList;
 
public class LinkedListDome {
 
public static void main(String[] args) {
//创建LinkedList集合的对象
LinkedList list=new LinkedList();
//添加功能:addFirst(Object e):将指定的元素插入到列表的开头
list.addFirst("hello");
list.addFirst("World");
list.addFirst("Android");
System.out.println(list);
//addLast(object e):将指定的元素添加到列表末尾
System.out.println("-------------------");
list.addLast("baby");
System.out.println(list);
System.out.println("-------------------");
//获取列表中的第一个元素
System.out.println(list.getFirst());
//获取列表中的最后一个元素
System.out.println(list.getLast());
System.out.println("---------------------");
//删除功能:删除第一个集合中的第一个元素
list.removeFirst();
System.out.println("removeFirst过后的List:"+list);
list.removeLast();
System.out.println("removeLast过后的List:"+list);
}
}
运行结果:
[Android, World, hello]
-------------------
[Android, World, hello, baby]
-------------------
Android
baby
---------------------
removeFirst:[World, hello, baby]
removeLast:[World, hello]

猜你喜欢

转载自blog.csdn.net/j_better/article/details/80257627