阅读145 返回首页    go 阿里云 go 技术社区[云栖]


自己写的一段解决ARRAYLIST批量接口调用以后乱序的代码



import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;


public class TestListOrder {

	public static void main(String[] args) {
		List<Long> productIds = new ArrayList<Long>();
		for(int i=100;i<1000;i++) {
			productIds.add(new Long(i));
		}
		
		for(int i=0;i<productIds.size();i++) {
			System.out.println(productIds.get(i));
		}
		
		List<Commodity> commoditys = new ArrayList<Commodity>();
		for(int i=200;i<800;i++) {
			Commodity n = new Commodity();
			n.setProductId(new Long(i));
			n.setProductName("alibaba_"+i);
			commoditys.add(n);
		}
		Collections.shuffle(commoditys);
		System.out.println("------------------before calibration-------------");
		
		for(int i=0;i<commoditys.size();i++) {
			System.out.println(commoditys.get(i).getProductId()+"    "+commoditys.get(i).getProductName());
		}
		
		HashMap<String , Commodity> map = new HashMap<String , Commodity>();  
		 for(Commodity nn:commoditys) {
			 map.put(nn.getProductId()+"", nn);
		 }
		 
		 
		 List<Commodity> sortedCommoditys = new ArrayList<Commodity>();
		 for(Long pid:productIds) {
			 Commodity comm = map.get(pid+"");
			 if(null!=comm) {
				 sortedCommoditys.add(comm);
			 }
		 }
/*		List<Commodity> sortedCommoditys = new ArrayList<Commodity>();
		for(int i=0;i<productIds.size();i++) {
			for(Commodity n:commoditys) {
				if(productIds.get(i).equals(n.getProductId())) {
					sortedCommoditys.add(n);
				}
			}
		}*/
		
		System.out.println("------------------after calibration-------------");
		for(int i=0;i<sortedCommoditys.size();i++) {
			System.out.println(sortedCommoditys.get(i).getProductId()+"    "+sortedCommoditys.get(i).getProductName());
		}
		
	}
}


最后更新:2017-04-03 08:26:18

  上一篇:go 中国移动拟将部分服务价格下调至多50%
  下一篇:go LIB和DLL的区别与使用