一、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