我是java的新手,我想使用执行器服务或使用java中的任何其他方法并行化嵌套for循环.我想创建一些固定数量的线程,以便线程不会完全获取CPU.
for(SellerNames sellerNames : sellerDataList) {
for(String selleName : sellerNames) {
//getSellerAddress(sellerName)
//parallize this task
}
}
Run Code Online (Sandbox Code Playgroud)
sellerDataList = 1000的大小和sellerNames = 5000的大小.
现在我想创建10个线程并将相同的任务块分配给每个线程.这是为了我的sellerDataList,第一个线程应该获得500个名称的地址,第二个线程应该获得下一个500个名称的地址,依此类推.
做这份工作的最佳方法是什么?
我在Java中有用例,我们想要获取语言环境特定的日期。我正在使用DateFormat.getDateInstance
final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM,
Locale.forLanguageTag(locale)));
Run Code Online (Sandbox Code Playgroud)
这将转换日期,但是ja-JP将日期“ 2019年1月17日”转换为“ 2019/01/17”,但是我需要类似“ 2019?1?17?”的内容。对于所有其他语言环境,这可以正确翻译日期。
请告知是否还有其他方法可以获取此信息。
您有两个实现一些代码我在使用Java流修改字符串:
final List<String> strings = new ArrayList<>();
strings.add("abc");
strings.add("bca");
strings.add("xyz");
Method 1:
final List<String> modifiedStrings = strings.stream().map(a -> {
String abc;
abc = a.replace("a", "*");
return abc;
}).collect(Collectors.toList());
Method 2:
final List<String> modifiedStrings2 = strings.stream().map(a ->
a.replace("a", "*")).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
我想知道方法一和方法二之间是否存在任何性能差异.
我是Scala的新手,我很简单Map[String, String]。
示例图:
val map = Map("a" -> "abc", "b" -> "xyz")
Run Code Online (Sandbox Code Playgroud)
我想编写一个逻辑,如果映射中存在特定密钥,则对该值调用crypto()方法,如果该密钥不存在,则返回空字符串。
我可以这样做的一种方法是:
encrypt(map.getOrElse(MARKETPLACE_ID.toString, ""))
Run Code Online (Sandbox Code Playgroud)
如果不存在密钥,这将失败,并且将使用空字符串调用crypto()方法。
请帮助我以最简单的方式解决此问题。
我有一个json字符串,我想在Scala中使用JsonPath从此json提取参数。鉴于杰森:
{
"message_payload":"6b700b000006",
"message_encryption_version":"2.0",
"message_version":"1.0",
"message_metadata":{
"marketplace_id":"1",
"workflow_id":"5906bd4e-52eb-4e2d-9a16-034fb67572f1",
"hostname":"dev-dsk-shivabo-2b-3c0a1bd6.us-west-2.amazon.com",
"event_type":"MerchantRegistrationFraudEvaluation",
"event_date":"1513665186657"
}
}
Run Code Online (Sandbox Code Playgroud)
我试图使用下面的代码来获取一些示例中找到的参数event_type,但它会引发错误:
val eventType = JsonPath.read(jsonString, "$.message_metadata.event_type")
Run Code Online (Sandbox Code Playgroud)
错误:
error: ambiguous reference to overloaded definition,
[scalac-2.11] both method read in object JsonPath of type [T](x$1: String, x$2: String, x$3: com.jayway.jsonpath.Predicate*)T
[scalac-2.11] and method read in object JsonPath of type [T](x$1: Any, x$2: String, x$3: com.jayway.jsonpath.Predicate*)T
[scalac-2.11] match argument types (String,String)
[scalac-2.11] val eventType = JsonPath.read(jsonString, "$.message_metadata.event_type");
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我我在这里想念什么吗?
我有一个名为Address的对象,它的字符串参数很少:
class Address(addressLine1: String, addressLine1: String, city: String, state: String) {
}
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个方法来检查所有地址参数是否包含空值:
def validateAddressNotEmpty(address: Address) : Boolean = {
//return true if any object parameter has non empty string
//return true if all object parameters contains empty string
//NOTE: no parameter will contain NULL values
}
Run Code Online (Sandbox Code Playgroud)
一种方法是分别检查每个参数.我试图找出是否有任何替代方案来实现相同.