1. 程式人生 > >Java開發練習7.2 Java集合框架

Java開發練習7.2 Java集合框架

選擇某種Map集合儲存學號從115的學員的學號(鍵)和姓名(值),學號用字串表示,輸入的時候要以學號亂序的方式存入Map集合,然後按照學號從大到小的順序將Map集合中的元素輸出列印。需要自定義Map集合的比較器Comparator,因字串物件的大小比較是按字典序,而非對應的數值。

要求:必須使用Map集合的內部排序機制進行排序,不能在外部排序。

package org.gerrysu;
import java.util.Comparator;
public class ComparatorTest implements Comparator{

	
	@Override
	public int compare(Object arg0, Object arg1) {
		// TODO Auto-generated method stub
		String id1 = (String)arg0;
		String id2 = (String)arg1;
		return id1.compareTo(id2);//將比較後的值返回
	}

}
package org.gerrysu;

import java.util.Comparator;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;
public class MapTest {
public static void main(String[] args) {
TreeMap list = new TreeMap(new ComparatorTest());//傳入一個自定義比較器
Scanner input = new Scanner(System.in);
System.out.println("請輸入15個學生的學號和姓名");
for(int i = 0 ;i<15 ; i++){
System.out.println("學號");
String sno = input.next();
System.out.println("姓名");
String sname = input.next();
list.put(sno, sname);
}
Set keySet = list.keySet();//獲取鍵是集合
Iterator it = keySet.iterator();//獲取迭代器物件
System.out.println("按照學號從大到小的順序將Map集合中的元素輸出列印為:");
while(it.hasNext()){
Object key = it.next();//獲取一個鍵
Object value = list.get(key);//獲取鍵對應值
System.out.println(key+":"+value);//列印輸出
}
}
}

相關推薦

Java開發練習7.2 Java集合框架

選擇某種Map集合儲存學號從1到15的學員的學號(鍵)和姓名(值),學號用字串表示,輸入的時候要以學號亂序的方式存入Map集合,然後按照學號從大到小的順序將Map集合中的元素輸出列印。需要自定義Map

Java開發練習7.1 Java集合框架

使用ArrayList集合,對其新增100個不同的元素: 1.使用add()方法將元素新增到ArrayList集合物件中; 2.呼叫集合的iterator()方法獲得Iterator物件,並呼叫Ite

Java開發練習9.2 TCP

使用TCP協議編寫一個網路程式,設定伺服器端的監聽埠是8002,當與客戶端建立連線後,伺服器端向客戶端傳送資料“Hello,world”,客戶端收到資料後列印輸出。 public class tcp

Java基礎學習筆記十六 集合框架(二)

first 哈希 cat etag 基於 col 容器 處的 新元素 List List接口的特點: 它是一個元素存取有序的集合。例如,存元素的順序是11、22、33。那麽集合中,元素的存儲就是按照11、22、33的順序完成的。 它是一個帶有索引的集合,通過索引就

java經典面試題---2----->Spring框架的相關介紹

原來 配置 主動 效果好 xml配置 優點 持久層 關系 文件 Spring是一個開源輕量級的框架,它的核心是控制反轉(IOC)和面向切面編程(AOP)。 作為業務層框架的spring能夠很好地整合表現層跟持久層。 IOC:將類的創建和依賴關系寫到配置文件裏,可以讓一個

[Java 並發編程實戰] 集合框架之 同步容器類 & 並發容器類

java 同步容器 並發編程 java集合框架 Java容器 吾生也有涯,而知也無涯。———《莊子》通過上一篇文章,我們已經知道設計一個線程安全類的原則和步驟,以及在設計過程中我們應當註意的細節。實際上,Java 的集合庫包含了線程安全集合和非線程安全集合,可以說 Java 的線程安全集合

Java學習日常(介面、集合框架

學習內容 最抽象的型別-介面(interface) 語法: [修飾符] interface 介面名 extends 父介面1, 父介面2... { 0-N 個常量; 0-N個抽象方法; } 集合框架 分為兩大介面collection與Ma

JAVA高階基礎(1)---集合框架的認識

集合 集合的由來 通常,我們的程式需要根據程式執行時才知道建立多少個物件。但若非程式執行,程式開發階段,我們根本不知道到底需要多少個數量的物件,甚至不知道它的準確模型。為了滿足這些常規的程式設計需要,我們要求能在任何時候,任何地點建立任意數量的物件,而這些物件用什麼來容納呢?我們首先想到

Java開發中三種常用集合

開發中常用的三種集合 1.    Java.util包中List介面 List是有序集合(也稱為序列 )。使用者可以精確控制列表中每個元素的插入位置。使用者可以通過整數索引(列表中的位置)訪問元素,並搜尋列表中的元素。 其中ArrayList是List介面最常用的實現類,

Java程式練習-計算2的N次方

 計算2的N次方時間限制: 1000ms記憶體限制: 65536kB描述任意給定一個正整數N(N<=100),計算2的N次方的值。輸入輸入只有一個正整數N。輸出輸出2的N次方的值。樣例輸入5樣例輸出32參考程式碼import java.util.*; public c

Java開發練習1,打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身。例如:153 是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。

打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身。例如:153 是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。 public class

JAVA高階特性)第一章 集合框架

1,建立一個類Queue,代表隊列(特點:先進先出),新增add(Object obj)及get()方法,mian()方法驗證。package com.bdqn.demo; import java.util.ArrayList; import java.util.Linke

java 開發web Service的幾種框架

1、JWS是Java語言對WebService服務的一種實現,用來開發和釋出服務。而從服務本身的角度來看JWS服務時沒有語言界限的。但是Java語言為Java開發者提供便捷釋出和呼叫webService服務的一種途徑。2、Axis2是Apache下一個輕量級WebServic

【2018校招筆試-京東=java開發】題目2 求冪

題目: a^b = c^d,且1<=a,b,c,d<=n 在給定n的情況下,求滿足上述式子的個數。 思路: 我們考慮去列舉n範圍內的所有i,然後處理出i的冪那些數。 考慮對

阿里巴巴Java開發手冊v1.2.0網頁版

前言 ​ 《阿里巴巴Java開發手冊》是阿里巴巴集團技術團隊的集體經驗總結,經歷了多次大規模一線實戰的檢驗及不斷的完善,反饋給廣大開發者。現代軟體行業的高速發展對開發者的綜合素質要求越來越高,因為不僅是程式設計知識點,其它維度的知識點也會影響到軟體的

7.2 Java執行緒模型

一. 單執行緒的機制: 遵循主迴圈/輪詢機制.  單執行緒控制無線迴圈輪訊一個事件序列來決定下一步做什麼一旦輪詢裝置返回訊號,執行事件處理程式直到事件處理程式完成 (如果此時事件處理程式被阻止,意味著一個執行緒因為等待資源時阻塞(block,掛起執行),整個程式停止執行 Note: 事件序列: 二. 多

盤點2019年Java開發7項主流、熱門的IT技術!

作為歷史最為悠久的程式語言,Java歷經數十年依然盤踞在程式設計榜前三的位置,與它強大的功能和廣泛的運用分不開。Java技術的更新

IntelliJ IDEA 插件 阿裏巴巴Java開發手冊(Alibaba Java Coding Guidelines)

修改 rdquo 點擊 就會 mic 綠色 ips 異常 pan 以前看到過個:Java開發手冊(阿裏巴巴-公開版),這是個pdf文檔,裏面描述了一些Java開發的規約,裏面確實有很多好用的規約,要是在學校就有機會看看的話,那麽,在畢業之後,實際工作中就會少很多坑。現在,阿

Java開發相關名詞解釋 Java開發學習

Java開發 Java編程 Java入門 Java基礎 隨著技術的發展,市場的需要,很多盆友想轉行Java開發,但又苦惱於不懂Java中一些名詞的意義,那我們就一起來通俗的解釋下Java開發中的一些名詞,方便大家理解。Servlet:java初級框架,所有框架的基礎,struts2,sprin

什麽是Java開發?長沙學Java哪裏比較好?

監控 等等 一個人 平臺 人員 數學 培訓 java開發 開發者 什麽是Java開發?長沙學Java哪裏比較好?用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態的Web、Internet計算。從此,Java被廣泛接受並推動