我有一张地图
例如:
[1:'A',2:'B',…,26:'Z']
我有一个rotate()方法,它应该放置带有更改链接的条目
首次使用该方法后,我的地图应该是
[1:'Z',2:'A',3:'B',…,26:'Y']
以下是我目前的认识:
public void rotate() {
final Map<Integer, Character> tempMap = new HashMap<>();
alphabetMap.forEach((key, value) -> tempMap.put(key == 26 ? 1 : key + 1, value));
alphabetMap = tempMap;
}
有没有其他方法/algorhitm更快地“旋转”我的条目?
对于“更快”的旋转,可以使用列表替换贴图,然后使用方法集合。旋转
可用于此目的。然后可以通过范围[0..25]
中的索引访问列表元素。
或者可以实现一个小的包装类:
static class MyCharMap {
private List<Character> chars = IntStream
.rangeClosed('A', 'Z')
.mapToObj(c -> (char)c)
.collect(Collectors.toList());
public void rotate() {
Collections.rotate(chars, 1);
}
public Character get(Integer i) {
assert(1 <= i && i <= 26);
return chars.get(i - 1);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder(4 * chars.size() + 2);
sb.append('{');
for (int i = 0, n = chars.size(); i < n; i++) {
if (i > 0) sb.append(", ");
sb.append(i + 1).append(':').append(chars.get(i));
}
sb.append('}');
return sb.toString();
}
}
测试:
MyCharMap chars = new MyCharMap();
chars.rotate();
chars.rotate();
System.out.println(chars);
System.out.println(chars.get(1));
输出:
{1:Y, 2:Z, 3:A, 4:B, 5:C, 6:D, 7:E, 8:F, 9:G, 10:H, 11:I, 12:J, 13:K, 14:L, 15:M, 16:N, 17:O, 18:P, 19:Q, 20:R, 21:S, 22:T, 23:U, 24:V, 25:W, 26:X}
Y
我正在用html/jsp页面主体中的Google地图做一个web动态项目。 我制作了一个函数,可以创建一个标记(lat、lng、map),并在标记的参数中使用一个特殊的image.png作为图标。 在我的地图中,我制作了两种不同的样式(地图的颜色…)“白天”和“夜晚”。 我想知道当用户点击夜间更改样式时,我如何更改标记的图标。事实上,标记的颜色不适合这种风格的地图... 我尝试用相同的名称初始化不
我想更改Google Maps上选定的标记图标,因此我有以下代码: 在这一行,我从下面得到错误: 例外情况如下:
问题内容: 我想用字符串键和struct值构建一个映射,通过它我可以更新由map key标识的映射中的struct值。 我已经尝试过了,这并没有给我想要的输出。 我真正想要的是: 问题答案: 您无法更改与地图中的键关联的值,只能重新分配值。 这给您2种可能性: 将指针存储在地图中,因此您可以修改 指向的 对象(不在地图数据结构内部)。 存储结构值,但是在修改它时,需要将其重新分配给键。 1.使用指
问题内容: 好的,所以我一直在研究这一点。我对Java还是很陌生,但认为这很容易。我已经尝试了本网站上已回答的所有方法,但仍然没有运气,通常,当我在这里查看时,我能够找到适合我所寻找答案的答案。有谁知道如何更改JFrame右上角的Java图标。我非常肯定它不是我的文件路径,因为我的所有图像都在同一个文件夹中并且都可以工作,这是我似乎无法使用的唯一文件。 这是我的程序主菜单代码的第一部分,除我尝试添
问题内容: 我有一个图表,其中x轴显示时间,y轴显示我的数据。我想通过为x轴选择不同的指标来更改比例。例如 秒,分钟和小时刻度。默认值为秒。因此,如果选择分钟,则图表应该更小且更弯曲。任何的想法?UI 尚未完成,但是您假设将有x和y轴。的参数度确定其应被缩放到第二(度= 1),分钟(度= 60)或小时(度= 3600) 问题答案: 考虑使用jfreechart,它将缩放图形以填充封闭的容器。中看到
问题内容: 我正在尝试使用Swift更改UIButton的图像…我该怎么办 这是OBJ-C代码。但是我不知道Swift: 问题答案: 从您的Obc-C代码中,我认为您想为按钮设置图片,因此请尝试以下方式: 简而言之: 对于Swift 3: