集合内容对应大值和对应小值的互换

来源:互联网 发布:飞机票在线制作软件 编辑:程序博客网 时间:2024/05/29 11:36
public static void main(String[] args) {
// ;集合内容最大值与最小值互换,其次最大值和其次最小值互换        List<Integer> baseList = new ArrayList<>();        baseList.add(1);        baseList.add(1);        baseList.add(5);        baseList.add(2);        baseList.add(3);        baseList.add(4);        List<Integer> listWithSort = new ArrayList<>();        int size = baseList.size();//      去重存储        for(int i=0;i<baseList.size();i++){            if(!listWithSort.contains(baseList.get(i))){                listWithSort.add(baseList.get(i));            }        }//      排序        bubbleUpSortList(listWithSort);//升序集合        System.out.println("原始集合:"+baseList);        System.out.println("排序后的集合:"+listWithSort);//使用map 存储对应替换的key-value        int sizeSort = listWithSort.size();        HashMap replaceTemp = new HashMap();        for(int i =0;i<sizeSort;i++){            replaceTemp.put(listWithSort.get(i),listWithSort.get(sizeSort-i-1));        }        for(int i =0;i<size;i++){            Integer integer = baseList.get(i);            baseList.set(i, (Integer) replaceTemp.get(integer));        }        System.out.println("替换后的集合:"+baseList);
/**
原始集合:[1, 1, 5, 2, 3, 4]排序后的集合:[1, 2, 3, 4, 5]替换后的集合:[5, 5, 1, 4, 3, 2]
*/    }    //    集合    /*冒泡升序-集合*/    public static void bubbleUpSortList(List<Integer> baseList){        Integer temp;        for(int i=0;i<baseList.size()-1;i++){            for(int j = 0; j<baseList.size()-1-i;j++){                if(baseList.get(j)>baseList.get(j+1)){                    temp = baseList.get(j);                    baseList.set(j,baseList.get(j+1));                    baseList.set(j+1,temp);                }            }        }    }

0 0
原创粉丝点击