Java集合编程题训练(一)

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);
        }
    }
  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 标准化试题训练系统的需求分析包括以下几个方面: 1. 功能需求:系统需要提供一些标准化的试题,涵盖 Java 技术的各个方面,例如 Java 基础、Java 集合框架、Java 并发编程等等。同时,系统还需要支持个性化学习,根据应聘者的实际情况,提供相应的试题训练。 2. 性能需求:系统需要保证试题的质量,确保试题的准确性和完整性。同时,系统还需要保证试题的难度适中,既不过于简单,也不过于复杂,以便应聘者可以更好地掌握 Java 技术。 3. 可用性需求:系统需要提供友好的用户界面,方便应聘者进行试题训练。同时,系统还需要支持多种用户身份认证方式,以便不同的用户可以方便地登录系统进行试题训练。 4. 安全性需求:系统需要保证用户数据的安全性,防止用户数据被泄露或篡改。同时,系统还需要采用一些安全措施,例如防止 SQL 注入、XSS 攻击等,保证系统的安全性。 5. 可维护性需求:系统需要采用合理的架构和设计模式,方便系统的维护和升级。同时,系统还需要提供完善的文档和代码注释,方便开发人员进行维护和二次开发。 综上所述,Java 标准化试题训练系统的需求分析主要包括功能需求、性能需求、可用性需求、安全性需求和可维护性需求等方面。这些需求是系统开发的重要基础,需要在系统设计和开发的过程中得到充分考虑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值