找相应位置

Posted 终会飞翔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找相应位置相关的知识,希望对你有一定的参考价值。

import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Scanner;

/**
 * 对给定的一个字符串,找出有重复的字符,并给出其位置, 如:abcaaAB12ab12
 * 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13
 * 
 * :这种找位置的使用map一一对应
 * 虽然实现这部分代码,但是却没有想出解决顺序的方案
 * @author kif
 *
 */
public class FindSeat {

	public static void findSeat(String str) {
		LinkedHashMap<Character, StringBuffer> map = new LinkedHashMap<Character, StringBuffer>();
		for(int i = 0 ; i < str.length() ; i++){
			Character ch = str.charAt(i);
			
			if(map.containsKey(ch)){
				StringBuffer strbuf = map.get(ch);
				map.remove(ch);
				strbuf.append(":"+i);
				map.put(ch, strbuf);
			}else{
				map.put(ch, new StringBuffer(i+""));
			}
		}
		
		Iterator iter = map.keySet().iterator();
		while(iter.hasNext()){
			Object obj = iter.next();
			//获取每个键相对应的值
			String strs = map.get((Character)obj).toString();
//			System.out.println(strs);
			String st[] = strs.split(":");
			for(String s : st){
				System.out.print(obj+"-"+s+",");
			}
			System.out.println();
		}
		
	}

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);
		String str = input.nextLine();
		FindSeat.findSeat(str);
		input.close();
	}

}

 

以上是关于找相应位置的主要内容,如果未能解决你的问题,请参考以下文章

找到我的自定义代码片段 Xcode 6?

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

选项卡执行android中下一个片段中存在的代码

Android 使用两个不同的代码片段获取当前位置 NULL

在Android中,如何将数据从类传递到相应的布局/片段文件?

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段