Java集合编程题训练(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lw_zj_ywn/article/details/78673504

1.遍历一个集合,删除所有与s相同的元素
注意:不要使用for循环遍历删除,会出现删除不干净的情况

/**
    删除集合中指定的元素
    @param list 集合
     @param s 指定的元素
     */
    public static void removes(List<String> list, String s) {
        Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            String str = (String) iterator.next();
            if (str.equals(s)) {
                iterator.remove();
            }
        }
    }

2.如何判断两个集合是否有交集,并打印出他们的交集

public static void main(String[] args) {
        HashSet<String> hs=new HashSet<String>();
        hs.add("George");
        hs.add("Jim");
        hs.add("Blake");
        hs.add("Kevin");
        hs.add("Mecheal");
        hs.add("John");

        HashSet<String> hs2=new HashSet<String>();
        hs2.add("George");
        hs2.add("Kate");
        hs2.add("Kevin");
        hs2.add("Mecheal");
        hs2.add("Ryan");

        hs.retainAll(hs2);//retainAll()的方法返回时boolean,但不能作为又没有交集的判断,判断有没有交集要通过hs的size()。
        if (hs.size()==0){
            System.out.println("没有交集");
        }else{
            System.out.println("有交集");
        }
        for (String s : hs) {
            System.out.println(s);
        }
    }

3.各种集合的遍历方法
①List

public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        list.add("George");
        list.add("Jim");
        list.add("Blake");
        list.add("Kevin");
        list.add("Mecheal");
        list.add("John");

        //for循环
        for (int i = 0; i < list.size(); i++) {
            String s =  list.get(i);
            System.out.println(s);
        }
        //foreach
        for (String s : list) {
            System.out.println(s);
        }
        //迭代器遍历
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }


    }

②Set

public static void main(String[] args) {
        Set<String> list=new HashSet<>();
        list.add("George");
        list.add("Jim");
        list.add("Blake");
        list.add("Kevin");
        list.add("Mecheal");
        list.add("John");

        //foreach
        for (String s : list) {
            System.out.println(s);
        }
        //迭代器遍历
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }

③Map

  public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();
        map.put("name", "Tom");
        map.put("age", "20");
        map.put("address", "beijing");

        for (String key : map.keySet()) {
            String value = map.get(key);
            System.out.println(key+"==="+value);
        }

        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, String> entry = iterator.next();
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+"==="+value);
        }

        for (Map.Entry<String,String> entry: map.entrySet()) {
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+"==="+value);
        }

        for (String value:map.values()) {
            System.out.println(value);
        }
    }

猜你喜欢

转载自blog.csdn.net/lw_zj_ywn/article/details/78673504