suchen
HeimJavajavaLernprogrammBeispielcode-Freigabe der Set- und Map-Sortierausgabe an Writer in Java

这篇文章主要介绍了 java中 SetMap排序输出到Writer详解及实例的相关资料,需要的朋友可以参考下

 java中 Set与Map排序输出到Writer详解及实例

一般来说java.util.Set,java.util.Map输出的内容的顺序并不是按key的顺序排列的,但是java.util.TreeMap,java.util.TreeSet的实现却可以让Map/Set中元素内容以key的顺序排序,所以利用这个特性,可以将Map/Set转为TreeMap,TreeSet然后实现排序输出。
以下是实现的代码片段:

 /**
   * 对{@link Map}中元素以key排序后,每行以{key}={value}形式输出到{@link Writer}<br>
   * map为空或null时则不向writer写入任何内容
   * @param map
   * @param writer 为null抛出{@link IllegalArgumentException}
   * @throws IOException
   */
  public static void storeSortedMap(Map<String,String> map,Writer writer) throws IOException {
    if(null==writer)
      throw new IllegalArgumentException("the arugment &#39;writer&#39; must not be null ");
    TreeMap<String, String> sortedMap = new TreeMap<String,String>();
    if(null!=map)
      sortedMap.putAll(map);
    BufferedWriter bw=(writer instanceof BufferedWriter)?(BufferedWriter)writer
        : new BufferedWriter(writer);
    for (Entry<String,String> e:sortedMap.entrySet()) {
      bw.write(e.getKey() + "=" + e.getValue());
      bw.newLine();
    }
    bw.flush();
  }
  /**
   * 对 {@link Collection}中元素排序后(去除重复),元素分行输出到{@link Writer}<br>
   * collection为空或null时则不向writer写入任何内容
   * @param collection
   * @param writer 为null抛出{@link IllegalArgumentException}
   * @throws IOException
   */
  public static void storeSortedSet(Collection<String> collection,Writer writer) throws IOException {
    if(null==writer)
      throw new IllegalArgumentException("the arugment &#39;writer&#39; must not be null ");
    TreeSet<String> sortedSet = new TreeSet<String>();
    if(null!=collection)
      sortedSet.addAll(collection);
    BufferedWriter bw=(writer instanceof BufferedWriter)?(BufferedWriter)writer
        : new BufferedWriter(writer);
    for (String e:sortedSet) {     
      bw.write(e);
      bw.newLine();
    }
    bw.flush();
  }

调用示例如下:

Map<String,String> map;
//....
storeSortedMap(map,new FileWriter(new File("c:\\id.txt")));
Set<String,String> set;
//....
storeSortedSet(set,new FileWriter(new File("c:\\trainval.txt")));

生成结果已经是排序的了
Beispielcode-Freigabe der Set- und Map-Sortierausgabe an Writer in Java

Beispielcode-Freigabe der Set- und Map-Sortierausgabe an Writer in Java

Das obige ist der detaillierte Inhalt vonBeispielcode-Freigabe der Set- und Map-Sortierausgabe an Writer in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung