List的子类ArrayList特点:
package cn.manman.com;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
/*
* List的子类特点:
* ArrayList:
* 底层数据结构是数组,查询快,增删慢;
* 线程不安全,效率高;
* Vector:
* 底层数据结构是数组,查询快,增删慢;
* 线程安全,效率di;
* LinkKedList:
* 底层数据结构是链表,查询慢,增删快;
* 线程不安全,效率高;
* 案例:
* 使用List的任何子类存储字符串或者自定义的对象并遍历;
* ArrayList的使用
* 存储字符串并遍历
*/
public class ArrayListDemo {
public static void main(String[] args) {
//创建集合对象
ArrayList arrayList=new ArrayList();
//创建元素对象,并添加对象
arrayList.add("hello");
arrayList.add("world");
arrayList.add("java");
//遍历
//方法一
Iterator it=arrayList.iterator();
while (it.hasNext()) {
String s = (String) it.next();
System.out.println(s);
}
System.out.println("--------");
//遍历方法二,专门针对List的遍历
ListIterator it1=arrayList.listIterator();
while (it1.hasNext()) {
String s1 = (String) it1.next();
System.out.println(s1);
}
System.out.println("-------");
//方法三,用for循环遍历
for (int i = 0; i < arrayList.size(); i++) {
String s2=(String) arrayList.get(i);
System.out.println(s2);
}
}
}
List的子类Vector的特点:
- 添加功能:
public void addElement(Object obj)
//创建集合对象
Vector vector=new Vector();
//添加功能
vector.addElement("hello");
vector.addElement("world");
vector.addElement("java");
- 获取功能:
public Object elementAt(int index)
//方法一,遍历
for (int i = 0; i < vector.size(); i++) {
String s1=(String) vector.elementAt(i);
System.out.println(s1);
}
public Enumeration elements()
//方法二,遍历。
Enumeration enumeration =vector.elements();
while (enumeration.hasMoreElements()) {
String s2 = (String) enumeration.nextElement();
System.out.println(s2);
}
List子类的LinkedList的特有功能:
- 添加功能
public void addFirst(Object c)
//添加元素,从前面开始添加
linkedList.addFirst("hello");
linkedList.addFirst("world");
linkedList.addFirst("java");
public void addLast(Object c)
//添加元素,从后面开始添加
linkedList.addLast("android");
linkedList.addLast("web");
linkedList.addLast("jsp");
- 获取功能
public Object getFirst()
System.out.println("从前面获取:"+linkedList.getFirst());
public Object getLast()
System.out.println("从后面获取:"+linkedList.getLast());
- 删除功能
public Object removeFirst()
System.out.println("removeFirst:"+linkedList.removeFirst());
public Object removeLast()
System.out.println("removeLast:"+linkedList.removeLast());
练习:
- 去除集合中字符串的重复值
package cn.manman.com;
import java.util.ArrayList;
import java.util.Iterator;
/*
* ArrayList去除集合中字符串的重复值
* 分析:
* A:创建集合对象
* B:添加多个字符串元素(包含相同的)
* C:创建新集合
* D:遍历旧集合,获取得到每一个元素
* E:拿这个元素到新的集合里面取找,有,不添加,没有,添加到新集合
*/
public class 练习1 {
public static void main(String[] args) {
//创建集合对象
ArrayList arrayList=new ArrayList();
//添加多个元素
arrayList.add("hello");
arrayList.add("world");
arrayList.add("java");
arrayList.add("hello");
arrayList.add("android");
arrayList.add("world");
//创建新的集合
ArrayList arrayList2=new ArrayList();
//遍历旧的集合,获取得到每一个元素
Iterator iterator=arrayList.iterator();
while (iterator.hasNext()) {
String string = (String) iterator.next();
//用从旧集合中遍历出来的元素到新的集合里面取匹配
if (!arrayList2.contains(string)) {
arrayList2.add(string);
}
}
//遍历新的集合
for (int i = 0; i < arrayList2.size(); i++) {
String string = (String) arrayList2.get(i);
System.out.println(string);
}
}
}
网友评论