Set(集):集合中的对象不按照特定顺序排序,不允许有重复对象。某些实现类可以对集合中对象按特定方式排序。
List(列表):集合中的对象按照索引位置排序,允许有重复对象。List和数组有些相似。
Map(映射):集合中每个元素包含一个键(Key)和一个值(Value),集合中的键不可以重复,值可以重复。
Collection:接口储存一组不唯一,无序的对象
LIst接口:
常用类 ArrayList和 LinkedList
LinkedList 采用链表储存方式
LinkedIn示例
class LinkedListDemo
{
public static void main(String[] args)
{
LinkedList link = new LinkedList();
link.addLast("java01");
link.addLast("java02");
link.addLast("java03");
link.addLast("java04");
sop("操作前集合中元素:"+link);
//获取集合中的第一个元素
sop("第一次getFirst:"+link.getFirst());
//因为getFirst方法只获取不删除,所以第二次调用此方法返回的是同一个元素
sop("第二次getFirst:"+link.getFirst());
//获取最后一个元素
sop("getLast:"+link.getLast());
//获取并移除集合中的第一个元素
sop("第一次removeFirst:"+link.removeFirst());
//因为removeFirst方法不止获取,同时还会删除,所以返回的不是同一元素
sop("第二次removeFirst:"+link.removeFirst());
//移除前集合的元素个数
sop("移除前size="+link.size());
//通过removeLast方法移除集合中的所有元素
while(!link.isEmpty())
{
sop("获取并移除:"+link.removeLast());
}
//移除后集合的元素个数
sop("移除后size="+link.size());
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
{
public static void main(String[] args)
{
LinkedList link = new LinkedList();
link.addLast("java01");
link.addLast("java02");
link.addLast("java03");
link.addLast("java04");
sop("操作前集合中元素:"+link);
//获取集合中的第一个元素
sop("第一次getFirst:"+link.getFirst());
//因为getFirst方法只获取不删除,所以第二次调用此方法返回的是同一个元素
sop("第二次getFirst:"+link.getFirst());
//获取最后一个元素
sop("getLast:"+link.getLast());
//获取并移除集合中的第一个元素
sop("第一次removeFirst:"+link.removeFirst());
//因为removeFirst方法不止获取,同时还会删除,所以返回的不是同一元素
sop("第二次removeFirst:"+link.removeFirst());
//移除前集合的元素个数
sop("移除前size="+link.size());
//通过removeLast方法移除集合中的所有元素
while(!link.isEmpty())
{
sop("获取并移除:"+link.removeLast());
}
//移除后集合的元素个数
sop("移除后size="+link.size());
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
ArrayList:ArrayList对数组封装实现了长度可变的数组
import java.util.*;
class ListDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void method()
{
ArrayList al = new ArrayList();
//添加元素
al.add("java01");
al.add("java02");
al.add("java03");
sop("原集合是:"+al);
al.add(1,"java09");
sop("添加后集合是:"+al);
al.remove(2);
sop("删除后集合是:"+al);
al.set(2,"java007");
sop("修改后集合是:"+al);
sop("get(1):"+al.get(1));
Iterator it = al.iterator();
while(it.hasNext())
{
sop("next:"+it.next());
}
sop("index="+al.indexOf("java007"));
List sub = al.subList(1,2);
sop("al的子集合sub="+sub);
}
public static void main(String[] args)
{
method();
System.out.println("-------------------------------------------------------");
//演示列表迭代器。
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
sop("原集合:"+al);
ListIterator li = al.listIterator();
//sop("hasPrevious():"+li.hasPrevious());
while(li.hasNext())
{
Object obj = li.next();
if(obj.equals("java02"))
//li.add("java009");
li.set("java006");
}
sop("通过列表迭代器操作后的集合:"+al);
while(li.hasPrevious())
{
sop("previous:"+li.previous());
}
}
}
class ListDemo
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void method()
{
ArrayList al = new ArrayList();
//添加元素
al.add("java01");
al.add("java02");
al.add("java03");
sop("原集合是:"+al);
al.add(1,"java09");
sop("添加后集合是:"+al);
al.remove(2);
sop("删除后集合是:"+al);
al.set(2,"java007");
sop("修改后集合是:"+al);
sop("get(1):"+al.get(1));
Iterator it = al.iterator();
while(it.hasNext())
{
sop("next:"+it.next());
}
sop("index="+al.indexOf("java007"));
List sub = al.subList(1,2);
sop("al的子集合sub="+sub);
}
public static void main(String[] args)
{
method();
System.out.println("-------------------------------------------------------");
//演示列表迭代器。
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
sop("原集合:"+al);
ListIterator li = al.listIterator();
//sop("hasPrevious():"+li.hasPrevious());
while(li.hasNext())
{
Object obj = li.next();
if(obj.equals("java02"))
//li.add("java009");
li.set("java006");
}
sop("通过列表迭代器操作后的集合:"+al);
while(li.hasPrevious())
{
sop("previous:"+li.previous());
}
}
}
Map:
集合中每个元素包含一个键(Key)和一个值(Value),集合中的键不可以重复,值可以重复。
四种遍历方法代码
public class css {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String,String> map=new HashMap<String,String>();
map.put("CBC", "中国银行");
Set<String> set=map.keySet();
for(String key:set){
System.out.println(key);
System.out.println(map.get(key));
Collection<String> collection=map.values();
for(String value:collection){
System.out.println(value);
}
System.out.println("-------------");
Set<Entry<String,String>> entrySet=map.entrySet();
for(Entry<String,String>entry:entrySet){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
System.out.println("==================");
Set<String> KeySet=map.keySet();
Iterator<String> iterator=KeySet.iterator();
while(iterator.hasNext()){
String Key=iterator.next();
System.out.println(key);
System.out.println(map.get(Key));
}
System.out.println("================");
Iterator<Entry<String,String>> iter=map.entrySet().iterator();
while(iter.hasNext()){
Entry<String,String> entry=iter.next();
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
}
// TODO Auto-generated method stub
Map<String,String> map=new HashMap<String,String>();
map.put("CBC", "中国银行");
Set<String> set=map.keySet();
for(String key:set){
System.out.println(key);
System.out.println(map.get(key));
Collection<String> collection=map.values();
for(String value:collection){
System.out.println(value);
}
System.out.println("-------------");
Set<Entry<String,String>> entrySet=map.entrySet();
for(Entry<String,String>entry:entrySet){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
System.out.println("==================");
Set<String> KeySet=map.keySet();
Iterator<String> iterator=KeySet.iterator();
while(iterator.hasNext()){
String Key=iterator.next();
System.out.println(key);
System.out.println(map.get(Key));
}
System.out.println("================");
Iterator<Entry<String,String>> iter=map.entrySet().iterator();
while(iter.hasNext()){
Entry<String,String> entry=iter.next();
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
}
}