为什么map和list在面试与笔试中被频繁的问到?

正在找工作或者是刚实习的同学或许会发现,java中的List和Map是一个常常被问到的知识点,而他们出现的频率一致非常高,很多在校的小伙伴不明白,同样是java的基础,为什么List和Map为何被问的如此频繁?

下面我们一起来谈谈!

求求你别再写public void XXX()还有public String XXX()之类的函数了

相信很多人在写函数或者说是接口的时候总是喜欢用int、String、或者是void之类的返回值,当然并不是说这些函数是有错的,很多时候需要这些返回值的时候我们需要这样写,但是如果是在Controller中和前端交互的接口,我们更多的是把接口的返回值类型进行自定义Result或者是直接返回Object,为什么这样做?因为很多情况下前台需要的数据应该是结构化的或者说是对象化的。

我们来瞅一段代码
controller层:


    @GetMapping("/getBookMsg")
    public Object getBookMsg(){
        return bookService.getBookMsg();
    }

service层:

public Object getBookMsg(){
        //查询book表中的信息以list形式返回
        List<Map<String,Object>> list = bookDao.getBookMsg();
        for(Map m : list){
            String key = (String) m.get("author");
            String value = (String) m.get("bookname");
            stringRedisTemplate.boundListOps(key).rightPush(value);


            List redislist = stringRedisTemplate.boundListOps(key).range(0, 10);
            System.out.println("fromRedis--->"+redislist);
        }

        System.out.println(list);

        //list设置为json格式
        JSONArray jsonObject = new JSONArray(list);
        FileWriter fw = null;
        try {
            fw = new FileWriter(new File(System.getProperty("user.dir") + "\\src\\main\\resources\\BookMsg.json"));
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(jsonObject.toString());
            bw.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return list;

    }

Dao层:

 public List<Map<String, Object>> getBookMsg(){
        String sSQL = "SELECT bookname,author FROM t_book ";
        return jdbcTemplate.queryForList(sSQL);
    }

很多时候,前端所需要的数据应该是以“组”的形式的,比如从数据库中查询的一类数据放到一个Object,或者是同一用户的不同数据放到一个Object提交给前端。这时候操作对象的时候,你会发现Map和List是最方便的,也是在实际情况中使用最多的。

1.灵活性

Map和List提供了方便的对于数据的操作接口,同时对于数据的存储有着很好的性能。

2.前后端数据交互的方便性

前端后端数据的交互可以说是系统中很重要的一部分,但是如果只是以一个字符串的形式去做数据的传递,在很多情况下是不切实际的,我们需要后端能够一次性提供多个数据作为一个对象或者一组对象,这时Map和List是方便有效的。

3.集成了很多操作函数

List和Map下众多的接口、函数使得对于数据的操作遍历更加的方便。同时我们可以发现,Map和List中的数据在于json做交互的时候也更加的方便。

总之,因为Map和List的方便性、有效性,使得他在后端的数据接收领域使用非常广泛,它自然而然也成了面试官的最爱。

入职后你也会发现,在写后台接口的时候HashMap和LinkedList使用是非常多的!

你可能感兴趣的:(学习感悟,java小结)