请有人告诉我们如何使用
FlurryAgent.onEvent(String eventId, Map<String, String> parameters)
Run Code Online (Sandbox Code Playgroud)
在一个Android活动中用乱舞来跟踪事件?
想象一下以下场景.您有一组已经可访问和已知的值.出于某些原因,您必须将它们放入HashMap中.
代码示例:
String a = "a";
Strinb b = "b";
...
HashMap map = new HashMap(5);
map.put("a", a);
map.put("b", b);
...
Run Code Online (Sandbox Code Playgroud)
真的有必要这样做吗?我无法相信没有一个构造函数可以让你从头开始输入你的值.
我在谈论这样的事情:
HashMap map = new HashMap(<"a", a>, <"b", b>, ...);
Run Code Online (Sandbox Code Playgroud)
甚至是这样的:
HashMap map = new HashMap(5);
HashMap.putBunchOfStuff("a", a, "b", b, ...);
Run Code Online (Sandbox Code Playgroud)
编辑:我的目的是询问是否有方法但更重要的是,如果答案是"否",为什么没有这样的构造函数/方法.
我正在写一个简单的程序,将一个数字转换成一个代表该数字的单词(13 =>"十三").
我意识到我可以用这样的常量String数组得到一些单词:
private static final String[] tensNames = {"", " ten", " twenty", " thirty", " forty", " fifty", " sixty", " seventy", " eighty", " ninety" };
Run Code Online (Sandbox Code Playgroud)
...并使用索引访问它,但我想尝试使用这样的HashMap:
final HashMap<Integer, String> tensNumberConversion = new HashMap<Integer, String>();
tensNumberConversion.put(2, "twenty");
tensNumberConversion.put(3, "thirty");
tensNumberConversion.put(4, "forty");
tensNumberConversion.put(5, "fifty");
tensNumberConversion.put(6, "sixty");
tensNumberConversion.put(7, "seventy");
tensNumberConversion.put(8, "eighty");
tensNumberConversion.put(9, "ninety");
Run Code Online (Sandbox Code Playgroud)
我被老师指示制作这些常数.HashMap可以是常量吗?作为一个新手,还不完全清楚术语"常数","静态"和"最终"是如何相关的,以及究竟是什么使它成为一个常数.(单独静止?最后一个人?静态决赛一起?).
我尝试将其设为私有静态最终Hashmap,但IntelliJ给了我一个错误(修改符'私有'这里不允许...对于'静态'相同).
但是,它确实从我的终端编译没有错误.如果HashMap可以是常量,这是声明一个的正确方法吗?谢谢!
对于我的Android应用程序,我需要在一个常量中定义一些键,我认为最好的方法是使用地图.但不确定这是否真的是要走的路,以及如何正确地做到这一点.由于我的目标是Android,因此Bundle也可能是一种选择.
我有一个键列表,如:
"h"="http"
"f"="ftp"
基本上该程序是读取QR代码(以防止代码变得太大,我使用的是超短键),获取这些密钥,并且必须将它们转换为有用的东西,在我的情况下是协议.
我正在尝试定义一个名为KEY_PROTOCOLS的常量,我认为这应该是一个Map,所以稍后我可以调用类似KEY_PROTOCOLS.get("f")的东西来获得属于键"f"的协议.
其他类也应该能够导入这个常量,并使用它.所以这张地图必须立即在课堂上填充.
我怎样才能做到这一点?
如何初始化一个static不可修改的实例android.util.SparseArray?
这个问题几乎是不言自明的.我有一个数据结构(我提到了一个HashMap但也可能是一个Set或一个List),我最初填充:
Map<String, String> map = new HashMap<String, String>();
for( something ) {
map.put( something );
}
Run Code Online (Sandbox Code Playgroud)
填充结构后,我永远不想添加或删除任何项目:
map.freeze();
Run Code Online (Sandbox Code Playgroud)
如何使用标准Java库实现这一目标?
我想在Java中定义映射,哪些键是枚举,以及值的类型取决于键.例如,假设我们有以下枚举类型:
enum KeyType {
HEIGHT(Integer.class),
NAME(String.class),
WEIGHT(Double.class)
// constructor and getter for Class field
}
Run Code Online (Sandbox Code Playgroud)
和一些地图:
Map< KeyType, Object > map = new EnumMap<>(KeyType.class);
Run Code Online (Sandbox Code Playgroud)
是否有任何简单而安全的方法来编写泛型方法:
public < T > T get(KeyType key) {
//...
}
Run Code Online (Sandbox Code Playgroud)
从该地图获取价值并将其转换为与类型对应的值?
在JavaScript,您可以一次声明对象的所有键和值组合,JSON如下所示...
var myJSON = {
'key1' : 'value 1',
'key2' : 'value 2',
'key3' : 'value 3',
'key4' : 'value 4',
'key5' : 'value 5',
'key6' : 'value 6'
};
Run Code Online (Sandbox Code Playgroud)
我不知道我们是否可以做类似的东西Java了HashMaps.
HashMap<String, String> map = new HashMap<String, String>(
"Key 1", "Value 1",
"Key 2", "Value 2",
"Key 3", "Value 3"
);
Run Code Online (Sandbox Code Playgroud)
基本上,我需要这个作为一次只读的东西作为我的代码的其他部分的配置.我搜索并尝试了一些解决方案,但无法让它们工作.或者我有更好的方法吗?
我正在创建一个应用程序,在我的应用程序中,我收到响应并将其显示在自定义警报对话框中,直到这里它工作正常,现在我想做的是,如果用户从警报对话框中选择一个项目一次,它应该将其存储在偏好,这样就不需要每次都获取数据。
以下是我的代码片段。
我得到的以下回复是:
{
"states": [
{
"id": "1",
"state_slug": "agra",
"statename": "Agra"
},
{
"id": "2",
"state_slug": "andaman_and_nicobar_islands",
"statename": "Andaman and Nicobar Islands"
},
{
"id": "3",
"state_slug": "andhra_pradesh",
"statename": "Andhra Pradesh"
},
{
"id": "4",
"state_slug": "arunachal_pradesh",
"statename": "Arunachal Pradesh"
},
{
"id": "5",
"state_slug": "assam",
"statename": "Assam"
},
{
"id": "6",
"state_slug": "bihar",
"statename": "Bihar"
},
{
"id": "7",
"state_slug": "bulandshahr",
"statename": "Bulandshahr"
},
{
"id": "8",
"state_slug": "chhattisgarh",
"statename": "Chhattisgarh"
},
{
"id": "9",
"state_slug": "dadra_and_nagar_haveli", …Run Code Online (Sandbox Code Playgroud) 我对HashMap创作有疑问.有一种简单而快速的HashMap创作方式吗?也许,连接两个数组{1, 2, ...}和{"picture/one.png", "picture/two.png", ...}.我对一个简洁的解决方案感兴趣.最好的做法,这么说.
每个指导或提示都会非常有用.谢谢.
编辑:是的,我知道如何发起一个HashMap.我看着javadoc(甚至没有一次).对不起我的问题的错误解释,也许不是很清楚.再一次,我对最佳实践解决方案感兴趣.如果最佳实践解决方案是for循环,那就是它.如果有其他选择,请显示.
java ×8
android ×4
hashmap ×4
collections ×2
constants ×1
dictionary ×1
enums ×1
flurry ×1
generics ×1
json ×1
literals ×1
sparse-array ×1