【MapSheep】
[好记性不如烂笔头]
  1. 方案一
// 测试
List<Object> arrayList = new ArrayList<>();
Collections.addAll(arrayList, 10, 11, 12);
AryLi.AL(arrayList);

// 输出: **10 11 12 2 3 4**


// 方案一
class AryLi {
    //TODO 方案一, 就是将新的集合添加在原有集合之前
    public static void AL(List list) {
        List list1 = new ArrayList();
        Collections.addAll(list1, 2, 3, 4);


        ArrayList list2 = new ArrayList();
        list2.addAll(list);
        
        for (int i = 0; i < list1.size(); i++) {
            //开始复制一个list的内容到另外一个list
            list2.add(list1.get(i));
        }
        for (Object aList2 : list2) {
            System.out.println(aList2);
        }
    }
}

  1. 方案二
// 输出: **[{"clazz":1,"name":"李四","sex":"女"},{"clazz":2,"name":"赵柳","sex":"女"},{"clazz":3,"name":"孙八","sex":"女"},{"clazz":1,"name":"张三","sex":"男"},{"clazz":2,"name":"王五","sex":"男"}]**

@Data
class Student {
    private String name;
    private String sex;
    private Integer clazz;

    public Student(String name, String sex, Integer clazz) {
        this.name = name;
        this.sex = sex;
        this.clazz = clazz;
    }
}

//TODO 方案二
public static void Docker() {
	Student student1 = new Student("张三", "男", 1);
	Student student2 = new Student("李四", "女", 1);
	Student student3 = new Student("王五", "男", 2);
	Student student4 = new Student("赵柳", "女", 2);
	Student student5 = new Student("孙八", "女", 3);
	List<Student> list = new ArrayList<>();
	Collections.addAll(list, student1, student2, student3, student4, student5);

	//根据性别分组 返回学生的Map Key是编号123 Value是学生分组好的对象
	//.forEach(((k,v) -> System.out.println(k+":"+v)));
	Map<String, List<Student>> collect = list.stream().collect(Collectors.groupingBy(Student::getSex));

	//装载男生
	ArrayList<Student> male = new ArrayList<>();
	//装载女生
	ArrayList<Student> female = new ArrayList<>();

	for (Iterator<Map.Entry<String, List<Student>>> iterator = collect.entrySet().iterator(); iterator.hasNext(); ) {
		Map.Entry<String, List<Student>> next = iterator.next();
		if ("男".equals(next.getKey())) {
			for (Student student : next.getValue()) {
				male.add(student);
			}
		} else {
			for (Student student : next.getValue()) {
				female.add(student);
			}
		}
	}
        male.stream().forEach(System.out::println);
        System.out.println("---------------------------------");
        female.stream().forEach(System.out::println);

        ArrayList<Object> menAndWomen = new ArrayList<>();
        female.addAll(male); //把男生加入致女生集合
        Collections.addAll(menAndWomen, JSON.toJSONString(female));

        System.out.println("----------------输出先女后男-----------------");
        menAndWomen.stream().collect(Collectors.toList()).forEach(System.out::println);
    }

  1. 方案三
// 输出: 
// **taskList
// **C011105212020800010**
// **C011105212020800009**
// **C011305282020800058**
// **C011305282020800055**
// **C011305282020800048**
// **C015505282020800046**
// **C015505282020800056**
// **C015505282020800063**
// **C011305282020800057**
// **C011305282020800059**
// **C011305282020800062**
// **C011305282020800063**
// **C011305282020800066**
// **C011305282020800068**
// **C011305282020800069**
// **C011305282020800074**
// **C025705282020800006**
// **C065105282020800077**
// **C011305282020800080**
// **C011305282020800084**
// **C011305282020800114**
// **C011305282020800117**
// **C015505282020800133**
// **C025305282020800010**
// **C015505282020800159**
// **C015405282020800012**
// **C015405282020800013**
// **C015405282020800014**
// **C015405282020800015**
// **C015405282020800016**
// **C015405282020800018**
// **C015405282020800019**
// **C015505282020800170**
// **C021105282020800011**
// **C021105282020800014**
// **C065105282020800197**
// **C021105282020800015**
// **C021105282020800016**
// **C065105282020800198**
// **C021105282020800018**
// **C015405282020800020**
// **C015405282020800022**
// **C015405282020800023**
// **C126205282020800001**
// **C015505282020800185**
// **C015505282020800186**
// **C021105282020800021**
// **C015405282020800024**
// **C015405282020800025**
// **C015405282020800026**
// **C045605282018800023**
// **C015105282020800005**
// **C015105282020800006**
// **C015105282020800007**
// **C015505282020800202**
// **C015505282020800228**
// **C315105282020800008**
// **C065105282020800305**
// **C010105072020800002**
// **C015505282020800273**
// **C025705282020800089**
// **C015505072020800010**
// **C015505282020800275**
// **C065105282020800312**
// **C315105072020800002**
// **C075105282020800042**
// **C075105282020800043**
// **C015505282020800279**
// **C075105282020800047**
// **C015405282020800027**
// **C015505282020800284**
// **C075105282020800050**
// **C065105282020800375**
// **C065105282020800381**
// **C011305282020800153**
// **C011305282020800154**
// **C075105282020800057**
// **C075105282020800059**
// **C011305072020800005**
// **C120105282020800012**
// **C021205282020800054**
// **C175205282020800009**
// **C021205282020800084**
// **C075105282020800073**
// **C015505282020800290**
// **C175205282020800018**
// **C175205282020800021**
// **C120105282020800019**
// **C175205282020800022**
// **C175205282020800023**
// **C171105282020800005**
// **C171105282020800006**
// **C200805282020800005**
// **C200805282020800006**
// **C200805282020800007**
// **C205105282020800003**
// **C205105282020800004**
// **C205105282020800008**
// **C026405282020800021**
// **C015405282020800040**
// **C065105282020800653**
// **C065105282020800654**
// **C065105282020800655**
// **C011305282020800163**
// **C120105282020800022**
// **C065105282020800670**
// **C011305282020800166**
// **C075105282020800075**
// **C065105282020800783**
// **C015405282020800047**
// **C065105282020800910**
// **C065105282020800954**
// **C065105282020800985**
// **C120105282020800059**
// **C065105282020801037**
// **C065105282020801070**
// **C120105282020800060**
// **C065105282020801212**
// **C065105282020801218**
// **C065105282020801220**
// **C065105282020801232**
// **C065105282020801236**
// **C120105282020800062**
// **C120105282020800063**
// **C120105282020800064**
// **C065105282020801262**
// **C065105282020801278**
// **C011305282022800562**
// **C011305282022800566**
// **C120105282020800067**
// **C120105282020800068**
// **C065105282020801430**
// **C120105282020800071**
// **C011305282020800189**
// **C035905282020800021**
// **C065105282020801451**
// **C015405282020800057**
// **C065105282020801458**
// **C035905282020800024**
// **C035905282020800025**
// **C011305282020800197**
// **C295105282020800007**
// **C015505282020800309**
// **C026405282020800024**
// **C015405282020800065**

//TODO 方案三
public static void RabbitMQ() {
	String[] str = {"C015505282020800046",
			"C011305282020800048",
			"C015505282020800056",
			"C015505282020800063",
			"C011305282020800055",
			"C011305282020800057",
			"C011305282020800058",
			"C011305282020800059",
			"C011305282020800062",
			"C011305282020800063",
			"C011105212020800009",
			"C011105212020800010",
			"C011305282020800066",
			"C011305282020800068",
			"C011305282020800069",
			"C011305282020800074",
			"C025705282020800006",
			"C065105282020800077",
			"C011305282020800080",
			"C011305282020800084",
			"C011305282020800114",
			"C011305282020800117",
			"C015505282020800133",
			"C025305282020800010",
			"C015505282020800159",
			"C015405282020800012",
			"C015405282020800013",
			"C015405282020800014",
			"C015405282020800015",
			"C015405282020800016",
			"C015405282020800018",
			"C015405282020800019",
			"C015505282020800170",
			"C021105282020800011",
			"C021105282020800014",
			"C065105282020800197",
			"C021105282020800015",
			"C021105282020800016",
			"C065105282020800198",
			"C021105282020800018",
			"C015405282020800020",
			"C015405282020800022",
			"C015405282020800023",
			"C126205282020800001",
			"C015505282020800185",
			"C015505282020800186",
			"C021105282020800021",
			"C015405282020800024",
			"C015405282020800025",
			"C015405282020800026",
			"C045605282018800023",
			"C015105282020800005",
			"C015105282020800006",
			"C015105282020800007",
			"C015505282020800202",
			"C015505282020800228",
			"C315105282020800008",
			"C065105282020800305",
			"C010105072020800002",
			"C015505282020800273",
			"C025705282020800089",
			"C015505072020800010",
			"C015505282020800275",
			"C065105282020800312",
			"C315105072020800002",
			"C075105282020800042",
			"C075105282020800043",
			"C015505282020800279",
			"C075105282020800047",
			"C015405282020800027",
			"C015505282020800284",
			"C075105282020800050",
			"C065105282020800375",
			"C065105282020800381",
			"C011305282020800153",
			"C011305282020800154",
			"C075105282020800057",
			"C075105282020800059",
			"C011305072020800005",
			"C120105282020800012",
			"C021205282020800054",
			"C175205282020800009",
			"C021205282020800084",
			"C075105282020800073",
			"C015505282020800290",
			"C175205282020800018",
			"C175205282020800021",
			"C120105282020800019",
			"C175205282020800022",
			"C175205282020800023",
			"C171105282020800005",
			"C171105282020800006",
			"C200805282020800005",
			"C200805282020800006",
			"C200805282020800007",
			"C205105282020800003",
			"C205105282020800004",
			"C205105282020800008",
			"C026405282020800021",
			"C015405282020800040",
			"C065105282020800653",
			"C065105282020800654",
			"C065105282020800655",
			"C011305282020800163",
			"C120105282020800022",
			"C065105282020800670",
			"C011305282020800166",
			"C075105282020800075",
			"C065105282020800783",
			"C015405282020800047",
			"C065105282020800910",
			"C065105282020800954",
			"C065105282020800985",
			"C120105282020800059",
			"C065105282020801037",
			"C065105282020801070",
			"C120105282020800060",
			"C065105282020801212",
			"C065105282020801218",
			"C065105282020801220",
			"C065105282020801232",
			"C065105282020801236",
			"C120105282020800062",
			"C120105282020800063",
			"C120105282020800064",
			"C065105282020801262",
			"C065105282020801278",
			"C011305282022800562",
			"C011305282022800566",
			"C120105282020800067",
			"C120105282020800068",
			"C065105282020801430",
			"C120105282020800071",
			"C011305282020800189",
			"C035905282020800021",
			"C065105282020801451",
			"C015405282020800057",
			"C065105282020801458",
			"C035905282020800024",
			"C035905282020800025",
			"C011305282020800197",
			"C295105282020800007",
			"C015505282020800309",
			"C026405282020800024",
			"C015405282020800065"};

	List<Task> tasksListRabbitMq = new ArrayList<>();
	for (int i = 0; i < str.length; i++) {
		Task task = new Task();
		task.setAccidentNo(str[i]);
		tasksListRabbitMq.add(task);
	}
	
	//要置顶的数据
	List<TaskInfoVo> consultComplaintTaskInfoLists = new ArrayList<>();
	TaskInfoVo infoVo1 = new TaskInfoVo();
	infoVo1.setAccidentNo("C011305282020800048");
	TaskInfoVo infoVo2 = new TaskInfoVo();
	infoVo2.setAccidentNo("C011305282020800055");
	TaskInfoVo infoVo3 = new TaskInfoVo();
	infoVo3.setAccidentNo("C011305282020800058");
	TaskInfoVo infoVo4 = new TaskInfoVo();
	infoVo4.setAccidentNo("C011105212020800009");
	TaskInfoVo infoVo5 = new TaskInfoVo();
	infoVo5.setAccidentNo("C011105212020800010");
	Collections.addAll(consultComplaintTaskInfoLists, infoVo1, infoVo2, infoVo3, infoVo4, infoVo5);

	Set<String> caseNos = new HashSet<>();
	for (TaskInfoVo taskInfoVo : consultComplaintTaskInfoLists) {
		caseNos.add(taskInfoVo.getAccidentNo());
	}

	//将List中某些数据置顶
	List<Task> taskList = tasksListRabbitMq;
	for (int i = 0; i < taskList.size(); i++) {
		Task task = taskList.get(i);
		if (caseNos.contains(task.getAccidentNo())) {
			//如果包含则删除并且使用temp变量接受放到第一个里面
			Task temp = task;
			taskList.remove(i);
			taskList.add(0, temp);
		}
	}
	System.err.println("taskList");
	for (Task task : taskList) {
		System.out.println(task.getAccidentNo());
	}
}

  1. 方案四
// 输出: **[{"ifReport":"是","ziSuFlag":""},{"ifReport":"2","ziSuFlag":"2"},{"ifReport":"1","ziSuFlag":""}]**

// 实体类
@Data
class ClaimStatusDetailResult {
    private String IfReport;
    private String ZiSuFlag;

    public ClaimStatusDetailResult(String ifReport, String ziSuFlag) {
        IfReport = ifReport;
        ZiSuFlag = ziSuFlag;
    }
}

// TODO 方案四
public static void main(String[] args) {
	List<ClaimStatusDetailResult> claimStatusList = new ArrayList<>();

	ClaimStatusDetailResult result1 = new ClaimStatusDetailResult("1", "");
	ClaimStatusDetailResult result2 = new ClaimStatusDetailResult("2", "2");
	ClaimStatusDetailResult result3 = new ClaimStatusDetailResult("是", "");

	Collections.addAll(claimStatusList, result1, result2, result3);


	// TODO 方式四:符合条件的一条数据置顶展示
	// 处理投诉上报/咨诉状态置顶展示
	List<ClaimStatusDetailResult> claimStatusEditList = new ArrayList<>();
	for (int i = 0; i < claimStatusList.size(); i++) {
		ClaimStatusDetailResult claimStatusDetailResult = claimStatusList.get(i);
		if ("是".equals(claimStatusDetailResult.getIfReport()) || StringUtils.isNotEmpty(claimStatusDetailResult.getZiSuFlag())) {
			claimStatusEditList.add(0, claimStatusDetailResult);
		} else {
			claimStatusEditList.add(claimStatusDetailResult);
		}
	}

	System.out.println(JSON.toJSON(claimStatusEditList));
}

  1. 方案五
// **输出: [{"state":2},{"state":4}]**

// 实体类
@Data
class UserInfoVo {
    private Integer State;
}

@Data
class ContainerInstance {
    private UserInfoVo userInfoVo;
}

// TODO 方案五
List<UserInfoVo> userInfoVoList = new ArrayList<>();

UserInfoVo infoVo01 = new UserInfoVo();
infoVo01.setState(4);
userInfoVoList.add(infoVo01);

UserInfoVo infoVo02 = new UserInfoVo();
infoVo02.setState(2);
userInfoVoList.add(infoVo02);

//TODO 方法五 处理在线人置顶展示
Collections.sort(userInfoVoList, Comparator.comparing(UserInfoVo::getState));
System.out.println(JSON.toJSON(userInfoVoList));
posted on 2021-05-08 15:32  (Play)  阅读(268)  评论(0编辑  收藏  举报