4.Java基础:集合中的遍历

来源:互联网 发布:网络弊大于利总结陈词 编辑:程序博客网 时间:2024/06/04 00:24

1.List集合遍历

第一种遍历

Iterator(传统迭代器)

//List传统迭代器
public class ListDemo {public static void main(String[] args) {Iterator(); //传统迭代器}//传统迭代器private static void Iterator() {// TODO Auto-generated method stubList ls = new ArrayList();//向集合添加10个数for (int i = 0; i < 10; i++) {ls.add(i);}for (Iterator it = ls.iterator(); it.hasNext();) {it.next();}System.out.println(ls);}}

第二种遍历

ListIterator(List迭代器)

//<span style="font-size: 14px;">List迭代器</span>
public class ListDemo {public static void main(String[] args) {ListIterator(); //List迭代器}//List迭代器private static void ListIterator() {List ls = new ArrayList();//向集合添加10个数for (int i = 0; i < 10; i++) {ls.add(i);}//创建迭代器对象ListIterator lt = ls.listIterator();while(lt.hasNext()) {int num = (Integer)(lt.next()); //1.7版本可以是int,其他IntegerSystem.out.print(num+"  ");}System.out.println();}}

第三种遍历

for+get+size

public class Test {public static void main(String[] args) {<span style="font-family: Arial, Helvetica, sans-serif;">test</span><span style="font-family: Arial, Helvetica, sans-serif;">(); //排序</span>}private static void test() {//随机数Random ran = new Random();//创建集合List ls = new ArrayList();//随机数装入集合中for (int i = 0; i < 10;) {int n = ran.nextInt(100); //产生一个随机数if (!ls.contains(n)) { //不包含同样的数ls.add(n); //装入集合中i++; //装入集合中就记录一次}}//对集合进行遍历for (int i = 0; i < ls.size();i++) {System.out.print(ls.get(i)+"  ");}}}

第四种遍历

增强for

//增强for
public class <span style="font-family: Arial, Helvetica, sans-serif;">For</span><span style="font-family: Arial, Helvetica, sans-serif;">Demo</span><span style="font-family: Arial, Helvetica, sans-serif;"> {</span>public static void main(String[] args) {fun3();}//List遍历private static void fun3() {// TODO Auto-generated method stubList ls = new ArrayList();ls.add(1);ls.add(2);ls.add(3);for(Object obj:ls) {System.out.print(obj+"  ");}}}

2.Set集合遍历

第一种遍历

Iterator(传统迭代器):和List一样

第二种遍历

增强for

public class For<span style="font-family: Arial, Helvetica, sans-serif;">Demo</span><span style="font-family: Arial, Helvetica, sans-serif;"> {</span>public static void main(String[] args) {fun1();}private static void fun1() {// TODO Auto-generated method stubRandom ram = new Random();Set st = new HashSet();//得到随机数for (int i = 0; i < 10; i++) {int num = ram.nextInt(100);st.add(num);}System.out.println(st);for (Object obj:st) {System.out.print(obj+" ");}System.out.println();}}

3.Map集合遍历

第一种遍历:keySet

声明:public Set keySet()

作用:得到Map集合中所有的key的一个Set集合。

//Map遍历
public class Map<span style="font-family: Arial, Helvetica, sans-serif;">for</span><span style="font-family: Arial, Helvetica, sans-serif;">Demo</span><span style="font-family: Arial, Helvetica, sans-serif;"> {</span>public static void main(String[] args) {fun1();}//SetKey集合遍历private static void fun1() {Map<String,String> map = new HashMap<String,String>();map.put("a", "张三");map.put("b", "李四");map.put("c", "王五");//得到map所有KeySet<String> keys = map.keySet();//遍历Set集合for (Iterator<String> it = keys.iterator(); it.hasNext();) {String key = it.next();//通过get方法获取ValueString value = map.get(key);System.out.println("key:"+key+"value:"+value);}}}
第二种遍历:entrySet

声明 public Set entrySet();

作用:得到Map集合中的key-value的映射对象 Map.Entry.,

注意:返回的是Set集合,集合中的元素是Map.Entry类型的。

 Map.Entry类型代表的是key-value的映射关系的描

 Map.Entry中提供  getKey方法得到key,getValue方法得到value.

public class MaEntrySet {public static void main(String[] args) {entrySet();}//遍历Map集合-------entrySetprivate static void entrySet() {// TODO Auto-generated method stubMap<String,String> map = new HashMap<String,String>();map.put("a", "张三");map.put("b", "李四");map.put("c", "王五");//遍历Set<Map.Entry<String,String>> set = map.entrySet(); //Set集合中的元素类型是Map.Entry类型//遍历Set集合for (Map.Entry<String, String> en:set) {System.out.println(en.getKey()+en.getValue());}}}
第三种遍历:
Iterator(传统迭代器)
public class Map<span style="font-family: Arial, Helvetica, sans-serif;">Demo</span><span style="font-family: Arial, Helvetica, sans-serif;"> {</span>public static void main(String[] args) {<span style="font-family: Arial, Helvetica, sans-serif;">iterator</span><span style="font-family: Arial, Helvetica, sans-serif;">();</span>}//遍历Map集合private static void <span style="font-family: Arial, Helvetica, sans-serif;">iterator</span><span style="font-family: Arial, Helvetica, sans-serif;">() {</span>//遍历迭代器for (Iterator<Map.Entry<String, String>> it = set.iterator(); it.hasNext();) {Map.Entry<String,String> en = it.next();String key = en.getKey();String value = en.getValue();System.out.println(key+value);}}}
0 0
原创粉丝点击