|
9 | 9 | import java.util.Random; |
10 | 10 | import java.util.Set; |
11 | 11 |
|
| 12 | +import org.w3c.dom.Element; |
| 13 | + |
12 | 14 | public class Test04 { |
13 | 15 |
|
14 | 16 | public static void main(String[] args) { |
| 17 | + Test04 t4 = new Test04(); |
15 | 18 | List<Integer> list = new ArrayList<Integer>(); |
16 | 19 | Map<Integer, List<Integer>> map = new HashMap<Integer, List<Integer>>(); |
17 | 20 |
|
18 | | - Collection<List<Integer>> value = map.values(); |
19 | | - Iterator<List<Integer>> li = value.iterator(); |
20 | | - |
21 | 21 | int temp = 0; |
22 | | - Set<Integer> set = map.keySet(); |
| 22 | +// 生成50个随机数 |
23 | 23 | for(int i = 0; i < 50; i ++){ |
24 | 24 | list.add(new Random().nextInt(100)); |
25 | 25 | } |
| 26 | + System.out.println("随机生成的50个小于一百的数为:"); |
| 27 | + for(int k = 0; k < list.size();k++){ |
| 28 | + System.out.print(list.get(k)+","); |
| 29 | + } |
| 30 | + System.out.println(); |
| 31 | +// 将随机生成的50个数分组放入map中 |
| 32 | + for(int n = 0; n < 10; n++){ |
| 33 | + List<Integer> list2 = new ArrayList<Integer>(); |
| 34 | + for(int j = 0; j < list.size(); j++){ |
| 35 | + temp = list.get(j) / 10; |
| 36 | + if(n == temp){ |
| 37 | + list2.add(list.get(j)); |
| 38 | + } |
| 39 | + } |
| 40 | + map.put(Integer.valueOf(n), list2); |
| 41 | + } |
| 42 | + |
| 43 | +// 读取排序前的map |
| 44 | + |
| 45 | + System.out.println(map); |
| 46 | +// 读取map的value值进行排序 |
| 47 | + |
| 48 | + |
| 49 | +// 读取排序后的map |
| 50 | + Map<Integer, List<Integer>> new_map = new HashMap<Integer, List<Integer>>(); |
26 | 51 |
|
27 | | - for(int j = 0; j < 50; j++){ |
28 | | - temp = list.get(j) / 10; |
29 | | - map.put(new Integer(temp), arr[list.get(j)]); |
| 52 | + Collection<List<Integer>> value = map.values(); |
| 53 | + Iterator<List<Integer>> li = value.iterator(); |
| 54 | + |
| 55 | + Set<Integer> key= map.keySet(); |
| 56 | + Iterator<Integer> iter = key.iterator(); |
| 57 | + for(int i = 0; i < value.size();i++){ |
| 58 | + int key1 = 0; |
| 59 | + while (iter.hasNext()) { |
| 60 | + key1 = iter.next(); |
| 61 | + break; |
| 62 | + } |
| 63 | + while (li.hasNext()) { |
| 64 | + new_map.put(key1, t4.sort(li.next())); |
| 65 | +// System.out.println(li.next()); |
| 66 | + break; |
| 67 | + } |
| 68 | + } |
| 69 | + |
| 70 | + System.out.println(new_map); |
| 71 | + |
| 72 | + } |
| 73 | +// 排序方法 |
| 74 | + public List<Integer> sort(List<Integer> list){ |
| 75 | + List<Integer> list3 = new ArrayList<Integer>(); |
| 76 | + Integer [] arr = new Integer [list.toArray().length]; |
| 77 | +// 将传入的list转换为数组,因为toArray()得到的为Object[]对象,所以需要将Object[]转为Integer[] |
| 78 | + for(int k = 0; k < list.toArray().length; k++){ |
| 79 | + arr[k] = Integer.parseInt(list.toArray()[k].toString()); |
| 80 | + } |
| 81 | + for(int i = 0 ; i < arr.length;i++){ |
| 82 | + for(int j = i+1; j < arr.length; j++){ |
| 83 | + if(arr[i] > arr [j]){ |
| 84 | + int temp = arr[i]; |
| 85 | + arr[i] = arr[j]; |
| 86 | + arr[j] = temp; |
| 87 | + } |
| 88 | + } |
| 89 | + } |
| 90 | + for(int m = 0; m < arr.length;m++){ |
| 91 | + list3.add(arr[m]); |
30 | 92 | } |
| 93 | + return list3; |
31 | 94 | } |
32 | 95 |
|
33 | 96 | } |
0 commit comments