二进制获取List中缺少的对象
今天,我需要做一个大数据页面,其中分了5类
大概就像这样:1类,2类,3类,4类,5类......
但是由于数据没有足够多,所以现在统计出来的数据缺少了一到两类,或者更多,所以现在要找出在List在总体目录List缺少的单体。
/** * recordlist:总体目录List({{"name":"1类","site":"0"},{"name":"2类","site":"1"},{"name":"3类","site":"2"}.......}) 这里面site需要为连续整数 * radarData:现有List({"name":"1类"},{"name":"3类"}) * shifting:偏移量(recordlist对应site中最小的值减去0的结果)
* NoSiteList:返回值(recordlist去掉radarData的List) */ @SuppressWarnings({"rawtypes", "unchecked" }) public List getNoSite(List<Record> recordlist,List<Map> radarData,int shifting) { List<String> NoSiteList = new ArrayList<>(); int count = 0; for (Record info:recordlist) { for(Map map : radarData){ if(info.get("name").equals(map.get("name"))){ count+=Math.pow(2, info.getInt("site")-shifting); } } } String NoSite = Integer.toBinaryString(count); StringBuilder NoSitetype = new StringBuilder(NoSite); NoSite = NoSitetype.reverse().toString(); System.out.println(NoSite); for(Record info:recordlist){ int num=NoSite.charAt(info.getInt("site")-shifting)-'0'; if(0==num){ NoSiteList.add(info.get("name")); } } System.out.println(NoSiteList); return NoSiteList; }
本文来自博客园,作者:Yesong_Li,转载请注明原文链接:https://www.cnblogs.com/YesongLi/p/13049926.html

浙公网安备 33010602011771号