list的模糊查询,分页,排序及按条件循环删除list中数据和map转换list

Map转换List

	/**
	 * map转list
	 */
	public  List<Map> mapList(Map<String,String> map) {
		List<Map> list =new ArrayList<>();
		for (String key : map.keySet()) {
			Map map =new PageData();
			map.put(key1,key);
			map.put(key2,(String)map.get(key));
			list.add(map);
		}
		return list;
	}

List的模糊查询

	
			List results = new ArrayList();
			//传入要比较的字符
			Pattern pattern = Pattern.compile("ifname");
			for(int i=0; i < list.size(); i++){
				//String可以替换成List中存入的数据类型,将List中要与“ifname”比较的拿出来
				Matcher matcher = pattern.matcher(((String)list.get(i)));
				if(matcher.find()){
					results.add(list.get(i));
				}
			}
	

List的分页

	
	public  List  page(List<PageData> dataList , PageData pd) {
		//length 每页显示的条数
		//start 前端传过来的当前页,认前端第一页是0,这里处理下+1
		int pageSize = pd.getInt("length");
		int currentPage = pd.getInt("start")+1;
		List<PageData> currentPagelist = new ArrayList<>();
		if (dataList != null && dataList.size() > 0) {
			int currIdx = (currentPage > 1 ? (currentPage - 1) * pageSize : 0);
			for (int i = 0; i < pageSize && i < dataList.size() - currIdx; i++) {
				PageData data = dataList.get(currIdx + i);
				currentPagelist.add(data);
			}
		}
		return  currentPagelist;

	}

List的排序。

	// 让list以PageData对象中countAlarm数值排序
	Collections.sort(list, new Comparator<PageData>() {
			@Override
			public int compare(PageData o1, PageData o2) {
				if (StringUtil.isNull(o1.getLong("countAlarm"))){
					o1.put("countAlarm", 0);
				}
				if (StringUtil.isNull(o2.getLong("countAlarm"))){
					o2.put("countAlarm", 0);
				}
				//这里是降序排列,要是升序就是o2-o1
				return o2.getInt("countAlarm") - o1.getInt("countAlarm");
			}
		});

List的删除

		Iterator<PageData> iterator = list.iterator();
		while(iterator.hasNext()){
			PageData next = iterator.next();
			//取出list中保存的元素
			List<PageData> venues = (List<PageData>) next.get("venues");
			//但元素为空时删除
			if(venues == null || venues.size()<=0 ) {
				iterator.remove();   //注意这个地方
				}
		}

二个List的数据去重。

    private List<Map<String, String>> getNoDeploy(List<Map<String, String>> allUnit,List<Map<String, String>> deployUnit){
        List<Map<String, String>> list =new ArrayList<>();
        Collection exists=new ArrayList<Map<String, String>>(allUnit);
        exists.removeAll(deployUnit);
        ArrayList<Map<String, String>> arrayList = Lists.newArrayList(exists);
        return arrayList;
    }

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...