获取大写首字母开头的城市排列展示

该博客展示了如何使用Java8的Stream API来实现城市搜索组件,按字母排序。前端代码包括了城市选择和搜索功能,后端代码利用Stream.filter方法筛选以特定字母开头的城市。亮点在于高效地处理和展示城市数据。
摘要由CSDN通过智能技术生成

要求图:

实现前端代码:

 

<div class="container query">
      <div class="subcontainer">
        <div>
          <span class="querycaption">当前城市:</span>
          <el-button type="text">进入济南站</el-button>
        </div>
        <div>
          <span class="querycaption">热门城市:</span>
          <el-radio-group class="selectone" v-model="radioSelectone">
            <el-radio-button style="border: 0px;" v-for="(item,index) of radiolist" :key="index" :label="item.cityName"></el-radio-button>
          </el-radio-group>
        </div>
        <div>
          <br/>
          <span class="querycaption">搜索:</span>
          <el-input placeholder="输入城市中文名称或拼音,寻找当地心仪工作" v-model="input3" class="input-with-select" style="width: 320px;">
            </el-input>
        </div>
        <div>
          <br/><br/>
          <span class="querycaption">按省份首字母选择:</span>
         <el-radio-group class="selectone" v-model="radioSelectone">
           <el-radio-button v-for="(item,index) of letterList" :key="index" :label="item"></el-radio-button>
         </el-radio-group>
        </div>
      </div>
    </div>

后端代码:

/**
     * @Description: 城市搜索组件(按字母排序)
     * @author:榴莲豆包
     * @date:2021年5月26日14:55:26
     * @param []
     * @return java.util.List<com.qiyuan.qyframe.base.entity.SysCity>
     **/
    @ReadDataSource(description = "READ")
    public JSONArray querySysCityListDist() throws BusiException {
        JSONArray sysCityArrayS = new JSONArray();
        String[] strings = new String[]{
                "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","I","S","T","U","V","W","X","Y","Z"
        };

        Map<String, Object> paramMap = new HashMap<String, Object>();
        paramMap.put("state", SystemConst.CONST_COMMON_STATUS_OK);
        List<SysCity> sysCityList =  sysCityMapper.querySysCityList(paramMap);
        for(String i:strings){
        //获取A字母开头城市
        Stream<SysCity> tableNames = sysCityList.stream().filter(sysCity -> i.equals(sysCity.getCityInitial()));
        List<SysCity> collection = tableNames.collect(Collectors.toList());
        JSONArray sysCityArray = new JSONArray();
        JSONObject sysCityobjs = new JSONObject();
        for(SysCity sysCity:collection){

            JSONObject sysCityobj = new JSONObject();
            sysCityobj.put("cityCode",sysCity.getCityCode());
            sysCityobj.put("cityName",sysCity.getCityName());
            sysCityArray.add(sysCityobj);
        }
        sysCityobjs.put("alphabet",i);
        sysCityobjs.put("cityList",sysCityArray);
        if(collection.size()>0){
            sysCityArrayS.add(sysCityobjs);
        }

        }
        return sysCityArrayS;
    }

 

下边这段代码是使用java8中的新特性。

Stream<SysCity> tableNames = sysCityList.stream().filter(sysCity -> i.equals(sysCity.getCityInitial()));

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值