一、List集合
list是有序集合,它会为每一个对象,生成一个索引值。这个值唯一。list可以存放相同对象(值或者地址都可以相同)
二、Map集合
map集合的键不可以重复,值可以重复。存入两个相同键的对象,后存入的对象会覆盖原来的对象。
三、下面是集合的一段代码
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.junit.Test;
public class collection {
@Test
public void list1() {
List l1=new ArrayList();
String n1="如";
String n2="云";
String n3="魏";
String n4="如";
l1.add(n1);
l1.add(n2);
l1.add(n3);
l1.add(n4);
System.out.println("n1-如的hash码:"+n1.hashCode()+"_______n4-如的hash码:"+n4.hashCode());
//取出list对象
//list的get(index)方法获取由索引值index指定的索引位置的对象。
System.out.println("使用索引值循环");
for(int i=0;i<l1.size();i++){
System.out.println(l1.get(i));
}
//使用迭代器
System.out.println("使用迭代器循环");
Iterator it=l1.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
@Test
public void set1(){
Set set1=new HashSet();
String s1="hello";
String s2="word";
String s3=new String("hello");
String s4="ru";
String s5="shen";
set1.add(s1);
set1.add(s2);
set1.add(s3);
set1.add(s4);
set1.add(s5);
System.out.println(s1.hashCode());
System.out.println(s3.hashCode());
System.out.println("set集合的全部内容:"+set1);
Iterator it=set1.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
@Test
public void map1(){
Map m=new HashMap();
m.put("ru", "如");
m.put("yun", "云");
m.put("ru", "如神");
m.put("wei", "。。。。");
Iterator key=m.keySet().iterator();
while(key.hasNext()){
System.out.println(m.get(key.next()));
}
}
}
list1的运行结果:
n1-如的hash码:22914_______n4-如的hash码:22914
使用索引值循环
如
云
魏
如
使用迭代器循环
如
云
魏
如
map1的运行结果:
。。。。
云
如神
set1的运行结果:
99162322
99162322
set集合的全部内容:[hello, word, shen, ru]
hello
word
shen
ru