TreeMap学习笔记(一)
来源:互联网 发布:江苏移动网络电视伴侣 编辑:程序博客网 时间:2024/06/14 15:33
package com.qunar.yuliang.test13;import com.google.common.base.Charsets;import com.google.common.io.Files;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.File;import java.io.IOException;import java.util.Iterator;import java.util.List;import java.util.TreeMap;/** * Created by yuliang.jin on 14-7-9. */public class HotelInfoSorter { private static Logger logger = LoggerFactory.getLogger(HotelInfoSorter.class); public static File getFileSortedByHotelCode(File hotelInfoFile) throws IOException { TreeMap<String, String> hotelInfo = new TreeMap<String, String>(); List<String> lines = Files.readLines(hotelInfoFile, Charsets.UTF_8); int size = lines.size(); String[][] hotelInfoParts = new String[size][]; /** * split each item of hotel info into hotel code and hotel name, and put them into a tree map. */ for (int i = 0; i < size; i++) { hotelInfoParts[i] = lines.get(i).split("\\s+", 2); hotelInfo.put(hotelInfoParts[i][0], hotelInfoParts[i][1]); logger.info("酒店代号:" + hotelInfoParts[i][0]); logger.info("酒店名称:" + hotelInfoParts[i][1]); } /** * save the sorted info in the tree map to a file */ File fileSortedByHotelCode = new File("src/main/resources/test13/fileSortedByHotelCode"); Iterator iterator = hotelInfo.keySet().iterator(); while (iterator.hasNext()) { String hotelCode = (String) iterator.next(); String hotelName = hotelInfo.get(hotelCode); Files.append(hotelCode + "\t" + hotelName + "\n", fileSortedByHotelCode, Charsets.UTF_8); } return fileSortedByHotelCode; }}
遍历TreeMap:
Iterator iterator = hotelInfo.keySet().iterator(); while (iterator.hasNext()) { String hotelCode = (String) iterator.next(); String hotelName = hotelInfo.get(hotelCode); Files.append(hotelCode + "\t" + hotelName + "\n", fileSortedByHotelCode, Charsets.UTF_8); }
按key逆序输出TreeMap的值:仅对keySet进行逆序。
Iterator iterator = hotelInfo.keySet().iterator(); List<String> keyList = new LinkedList<String>(); while (iterator.hasNext()) { String hotelCode = (String) iterator.next(); keyList.add(hotelCode); } Collections.reverse(keyList); for(String hotelCode : keyList) { Files.append(hotelCode + "\t" + hotelInfo.get(hotelCode) + "\n", fileSortedByHotelCode, Charsets.UTF_8); }总结:
1)遍历TreeMap:Iterator iterator = hotelInfo.keySet().iterator();
2)LinkedList逆序:Collections.reverse(keyList);
3)遍历LinkedList:for(String hotelCode : keyList) {}
0 0
- TreeMap学习笔记(一)
- 温故而知新(一)TreeMap
- TreeMap学习笔记:put方法
- 疯狂Java学习笔记(40)----------TreeMap和TreeSet
- Java学习笔记(40)----------TreeMap和TreeSet
- Java集合-TreeMap(一)
- java 集合学习笔记4-HashMap TreeMap
- 【Java学习笔记】Map,TreeMap及HashMap
- TreeMap原理(源码学习)
- TreeMap学习
- java.util(一)HashMap TreeMap TreeSet
- TreeMap的基本用法(一)
- nutch-1.7-学习笔记(1)-org.apache.nutch.crawl.Injector.java-TreeMap
- nutch-1.7-学习笔记(1)-org.apache.nutch.crawl.Injector.java-TreeMap
- JDK容器学习之TreeMap (一) : 底层数据结构
- 学习笔记(一)
- 学习笔记(一)
- 学习笔记(一)
- 【黑马程序员】面向对象总结
- C++中的结构的使用
- Qualcomm AR SDK之替换模型(一)
- 华为招聘机试整理5:简单四则运算
- POJ 2823 Sliding Window(线段树入门)
- TreeMap学习笔记(一)
- 高通ARIOS源码开发之更换识别卡片以及更换模型
- Visual Studio 问题集
- POJ3254--Corn Fields
- NSFileManager 创建,复制,删除,剪切文件
- Linux网络编程:基于TCP的程序开发
- Jasper Report Server Deployment Distilled
- Instead Of 触发器
- Linux网络编程:基于UDP的程序开发