我有一个由4个字母组成的字母[a,c,g,t]。
我有这些字母的增量词典:
[a, c, g, t, aa, ac, ag, at, aaa, aac, aag, aat, aca, acc, acg, act, aga, agc, agg, agt, ata, atc, atg, att, aaaa ...]
我想为字典的每个字符串分配一个与所有其他编码不同的编码。
例如:
a=1
c=2
g=3
t=4
aa=5
ac=6
ag=7
at=8
aaa=9
aac=10
ecc...
我怎么能这样做?
答案 0 :(得分:0)
您可以使用Hashmap
这是代码:
List<String> test= Arrays.asList("a", "c", "g","t", "aa","ac","ag","at","aaa","aac","aag","aat","aca","acc","aaaa");
HashMap<String, Integer> encodeValue = new HashMap<String,Integer>();
int i = 1;
for(String value : test){
if(!encodeValue.containsKey(value)){
encodeValue.put(value, new Integer(i));
i++;
}
}
System.out.println(Arrays.asList(encodeValue));
输出
[{
g=3,
aac=10,
aaa=9,
c=2,
aag=11,
a=1,
at=8,
acc=14,
t=4,
aaaa=15,
aat=12,
ac=6,
aa=5,
ag=7,
aca=13
}]
它不是有序的,但是所有字符串都有一个唯一的编码值。
希望这有助于并欢迎使用Stackoverflow。如果您发现此答案或任何其他答案可以解决您的问题,请将其标记为帮助社区和其他人提出相同问题的解决方案。