亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

淺談Java中的集合存儲數據后,輸出數據的有序和無序問題

瀏覽:18日期:2022-08-24 08:01:55

HashSet , TreeSet , 無序是指存儲數據的順序和取出數據的順序不一致;但是TreeSet 是按照指定的順序排個序出來;

如果,我們想按照數據輸入的順序依次輸出數據(即,如果依次輸入4、1、7、3,輸出時依次是4、1、7、3),此時需要用LinkedHashMap ,LinkedHashSet

package Demo;import java.util.*;import java.util.Map.*; public class DemoMap { public static void main(String[] args) { text3(); System.out.println('=========================================='); text4(); } public static void text3(){ Map<Integer,String> DemoMap=new HashMap<Integer,String>(); DemoMap.put(4, 'dddd'); DemoMap.put(1, 'a'); DemoMap.put(3, 'ccc'); DemoMap.put(2, 'bb'); Iterator<Map.Entry<Integer , String>> it =DemoMap.entrySet().iterator(); while(it.hasNext()){ System.out.println(it.next()); } } public static void text4(){ Map<Integer,String> DemoMap=new LinkedHashMap<Integer,String>(); DemoMap.put(4, 'dddd'); DemoMap.put(1, 'a'); DemoMap.put(3, 'ccc'); DemoMap.put(2, 'bb'); Iterator<Map.Entry<Integer , String>> it =DemoMap.entrySet().iterator(); while(it.hasNext()){ System.out.println(it.next()); } } }

運行結果為:

淺談Java中的集合存儲數據后,輸出數據的有序和無序問題

補充知識:java數組實現針對一個有序的數組插入一個數據并保持數組有序

1,排序介紹

針對這個問題,其實可以看做是插入排序中的有序排序。簡單的介紹哈,插入排序的基本思想是將一個記錄插入到已經排好序的有序表中,從而一個新的、記錄數增1的有序表。

2,思路分析

可分為三種情況來考慮,第一種頭插法也就是將數據插入到數組的第一個,這種情況插入的數據是最大值或最小值。第二種情況是將數據插入到數組中,插入的數組取值范圍在最大值與最小值之間。第三種情況的也就是尾插法,插入的數據是最大值或最小值。

第一種頭插法

輸入有序數組:arr ={2,3,6,89}

插入的記錄(數據):1

輸出插入數據的有序數組:arr ={1,2,3,6,89}

第二種插入數組之間

有序數組:arr ={2,3,6,89}

插入的記錄(數據):5

返回的有序數組:arr ={2,3,5,6,89}

第二種尾插法

有序數組:arr ={2,3,6,89}

插入的記錄(數據):100

返回的有序數組:arr ={2,3,6,89,100}

3,java代碼實現

package sort;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * project_name: JavaDemo * filename: InsertSort * IDE: IntelliJ IDEA * author: ganxiang * CreateDate:2020-07-18 16:04 */public class InsertSort { //頭插法 private List insertHead(int [] arr,int data){ int len =arr.length; int [] a =new int[len+1]; int k=0; if (data<=arr[0]) a[k]=data; for (int i = 0; i <=len-1 ; i++) { k+=1; a[k]=arr[i]; } List<Integer> list =new ArrayList<>(); for (int num:a) { list.add(num); } return list; } //插入數據到數組之中 private List insertBody(int [] arr,int data){ int len =arr.length; int [] a =new int[len+1]; int k=0;//通過移動k插入數據 for (int i = 0; i <=len-1 ; i++) { if(data>=arr[i]&&data<=arr[i+1]){ a[k]=arr[i]; k+=1; a[k]=data; i+=1; k+=1; } a[k]=arr[i]; k+=1; }// System.out.println(Arrays.toString(a)); List<Integer> list =new ArrayList<>(); for (int num:a) { list.add(num); } return list; } //尾插法 private List insertTial(int [] arr,int data) { int len = arr.length; int[] a = new int[len + 1]; int k = 0; for (int i = 0; i <= len - 1; i++) { a[k] = arr[i]; k += 1; } if (data >= arr[len - 1]) a[k] = data; List<Integer> list = new ArrayList<>(); for (int num : a) { list.add(num); } return list; } public static void main(String[] args) { int [] arr ={2,3,6,89}; System.out.println('輸入的有序數組arr為:'+Arrays.toString(arr)); System.out.println('1,頭插法插入數據1后的有序數組為:'+new InsertSort().insertHead(arr,1)); System.out.println('2,在數組之中插入數據5后有序的數組為:'+new InsertSort().insertBody(arr,5)); System.out.println('3,尾插法插入數據100后的有序數組為:'+new InsertSort().insertTial(arr,100)); }}

4,運行結果

淺談Java中的集合存儲數據后,輸出數據的有序和無序問題

以上這篇淺談Java中的集合存儲數據后,輸出數據的有序和無序問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
主站蜘蛛池模板: 国产成人精品免费影视大全 | 欧美高清一区二区三区欧美 | 麻豆视频在线免费观看 | 日韩欧美国产高清在线观看 | 久久97精品久久久久久清纯 | 欧美精品一区二区久久 | 在线观看 一区二区 麻豆 | 日韩欧美一区二区不卡 | 日本一二区免费 | 亚洲一级毛片免费观看 | 成人午夜小视频手机在线看 | 久久久青草青青国产亚洲免观 | 三级免费毛片 | 免费视频一区二区三区四区 | 91极品尤物| 香蕉视频黄网站 | 久久精品首页 | 国产在线激情视频 | 边吃奶边弄进去男女视频 | 亚洲毛片在线 | 欧美一区二区三区免费看 | 免费一级毛片在线观看 | 午夜精品视频5000 | 午夜资源在线 | 国产成人免费高清在线观看 | 国产精品大全国产精品 | 免费在线观看一区二区 | 午夜黄页网站在线播放 | 一级毛片免费播放视频 | 国产亚洲精品国产第一 | 俄罗斯一级毛片免费播放 | 亚洲一区二区三区欧美 | 免费毛片无需任何播放器 | 可以直接看的毛片 | 国产1区2区在线观看 | 一本色道久久综合狠狠躁篇 | 国产国语毛片 | 亚洲国产中文字幕 | 欧美专区一区二区三区 | 成人a视频在线观看 | 国产精品一区久久 |