package collectiondemo;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class TestIt {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//常见的集合(线性的集合)
//List接口就是线性存储的接口,并且是有序的
//实现线性的存储的接口的继承类:ArrayList,LinkedList,Vetor
//ArrayList是类似于数组的存储,可以直接通过索引访问
List<Integer> list = new ArrayList<Integer>();
list.add(12);
list.add(23);
list.add(34);
list.add(19);
list.add(26);
//LinkedList读取是通过链接点来读取的,读取效率较ArrayList低
//ArrayList读取数据效率高,但是对于的数据的删除和增加比LinkedList效率低
list= new LinkedList<Integer>();
list.add(12);
list.add(23);
list.add(34);
list.add(19);
list.add(26);
System.out.println(list.get(2));
//Vetor的效率介于前两者之间的。它的是线程安全的。
}
}
package collectiondemo;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class TestIt2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//Set和Map的存储方式,两者都是无序的存储(底层都是无序的)
//非线性存储的是不能通过索引访问
//无序不是按放进去的顺序读取的,按照hash的算法来排序的
//是不能存放重复的元素
Set<Integer> mysets = new HashSet<Integer>();
mysets.add(12);
mysets.add(23);
mysets.add(9);
mysets.add(15);
mysets.add(15);
//访问非线性的需要迭代器
Iterator<Integer> its = mysets.iterator();
while(its.hasNext()){
System.out.println(its.next());
}
//map的底层也是set,只是它的键是按照set无序存储的,也是不能重复的
Map<String,Integer> stumaps = new HashMap<String,Integer>();
stumaps.put("张三", 12);
stumaps.put("李四", 22);
stumaps.put("王五", 32);
Set<String> keys= stumaps.keySet();
Iterator<String> keyits = keys.iterator();
while(keyits.hasNext()){
String key =keyits.next();
Object objvalue = stumaps.get(key);//通过键得到值
System.out.println("键:"+key+",值:"+objvalue);
}
}
}