ArrayList来自List接口三个比较重要的接口
Iterator迭代器接口Collection
接口Map接口
ArrayList继承List,list继承CollectionList接口包括两个类ArrayListLinkedLis
代码如下:
import javax.print.attribute.standard.SheetCollate; import java.util.*; public class test_hashMap { public static void main(String[] args) { //Map是值对,必须指定key和value的类型 Map<String,String> maps=new HashMap<>(); maps.put("姓名","张三"); maps.put("年龄","32"); maps.put("性别","男"); //后面key值为“姓名”,就把前面的key值姓名做覆盖 maps.put("姓名","李四"); System.out.println(maps); //遍历map,使用key和value,把所有key取出来不会重复,形成一个Set System.out.println("第一种方法遍历map"); // System.out.println(maps.keySet()); //遍历map第一种方法:使用keySet方法,结果是一个Set,遍历每一个键。出值 Set<String> mykeys=maps.keySet(); //遍历这个key,根据key取value for(String key:mykeys){ //里面的变量都是for的全局 System.out.println(key+"----->"+maps.get(key)); } System.out.println("第二种方法遍历map"); //map另外的遍历方法,都有一个Iterator,使用迭代器遍历map,当元素个数多,可以处理 //keyset取所有的key,后面采用迭代器 Set<String> myotherkeys=maps.keySet(); //调用集合set的迭代器,iterator方法获取到这个集合的迭代器 Iterator<String> myiter=myotherkeys.iterator(); //采用遍历迭代器方法,现在迭代器中存放的是key while(myiter.hasNext()){ String key=myiter.next(); //再取value String value=maps.get(key); System.out.println(key+"-------->"+value); } //取其中一个数据,按key值 // System.out.println(maps.get("年龄")); //第三种map的遍历,HashMap的遍历还有一个entrySet Set<Map.Entry<String,String>> myentrys=maps.entrySet(); for(Map.Entry<String,String> entry:myentrys){ String key=entry.getKey(); String value=entry.getValue(); System.out.println(key+"------------>"+value); } //map的遍历第四种,使用entrySet,用迭代器的形式 Set<Map.Entry<String,String>> myentry=maps.entrySet(); //获取entrySet的迭代器 Iterator myiter1=myentry.iterator(); //迭代器不清楚列表元素的个数 while(myiter1.hasNext()){ Map.Entry<String,String> entry1=(Map.Entry<String,String>)myiter1.next(); String key=entry1.getKey(); String value=entry1.getValue(); System.out.println(key+"-----------4------>"+value); } //map遍历的第五种方法,可以通过values获取Map中的所有值 //遍历所有值, Collection<String> myvalues=maps.values(); ArrayList<String> mylist=new ArrayList(myvalues); //遍历所有的键 Set<String> myanotherkeys=maps.keySet(); ArrayList<String> mysets=new ArrayList(myanotherkeys); //获取所有键或的值的任意一个长度 int len=mysets.size(); //把每个键与每个值做对应。 for(int i=0;i<len;i++){ System.out.println(mysets.get(i)+"----------->"+mylist.get(i)); } //删除,remove,需要传入一个key值 maps.remove("年龄"); System.out.println(maps); //put修改, maps的名字加上 key,后面直接跟赋值符号 maps.put("性别","女"); System.out.println(maps); } }
运行结果如下: