我有以下代码,有时行为不确定.例如,我在那里传递3个事件,输出只有两个!你能解释一下这种行为的原因吗?
public List<AbstractTransactionResponse> getEventResponse(final List<AbstractEvent> events){
List<AbstractTransactionResponse> abstractTransactionResponses = new ArrayList<>();
events.parallelStream().map(event -> {
abstractTransactionResponses.add(getEventResponse(event));
return null;
}).collect(Collectors.toList());
return abstractTransactionResponses;
}
Run Code Online (Sandbox Code Playgroud) 我想拆分下面的字符串并将其存储在HashMap中:
String currentString= "firstName-lastName-rollNum-departmentNum=firstName1-lastName1-rollNum1-departmentNum1";
Run Code Online (Sandbox Code Playgroud)
我希望我的输出存储在地图中,如连字符( - )(firstName)之前的第一个字符串和(=)之后的第一个字符串(firstName1),......... ie
{firstName=firstName1,lastName=lastName1,rollNum=rollNum1,departmentNum=departmentNum1}
Run Code Online (Sandbox Code Playgroud)
下面的代码不适用于我的模式:
Map<String,String> mapVal= null;
mapVal = Pattern.compile("\\s*=\\s*")
.splitAsStream(currentString.trim())
.map(s -> s.split("-", 2))
.collect(Collectors.toMap(a -> a[0], a -> a.length>1? a[1]: ""));
Run Code Online (Sandbox Code Playgroud)
一旦我分割了字符串,我就不明白如何将所需的值组合在一起,如上所示.如果你没有得到我的问题,我道歉.
提前致谢 !!
我只是想知道,是否可以重写类java.util.Arrays的toString()方法。我正在课堂上做一个项目,我计划输出数组而不是
[33,12,98]至[033,012,098]
我只是想知道是否有可能在不重写Arrays.toString()方法的情况下做到这一点。
谢谢您的帮助 :)
this.form = this.fb.group({
prop1: '',
prop2: ''
});
this.form.valueChanges.pipe(startWith(null), pairwise())
.subscribe(([prev, next]: [any, any]) => {
console.log('PREV2', prev);
console.log('NEXT2', next);
});
Run Code Online (Sandbox Code Playgroud)
使用此代码我可以获得以前的值和当前值。我想要的是有什么方法可以获取更改的字段、上一个值和当前值。
就像字段更改名称:prop1,上一个值:“”,当前值:“下一个值”
我正在编写一个方法来查找字符串中的第一个非重复字符.我在之前的stackoverflow问题中看到了这个方法
public static char findFirstNonRepChar(String input){
char currentChar = '\0';
int len = input.length();
for(int i=0;i<len;i++){
currentChar = input.charAt(i);
if((i!=0) && (currentChar!=input.charAt(i-1)) && (i==input.lastIndexOf(currentChar))){
return currentChar;
}
}
return currentChar;
}
Run Code Online (Sandbox Code Playgroud)
我想出了一个使用散列表的解决方案,其中我有两个for循环(不是嵌套),我在一个循环中通过字符串进行交互,记下每个字母的出现(例如在apple中,a将有1,p将有2个)等等,然后在第二个循环中,我通过哈希表进行交互,以查看哪个首先计数为1.与我提出的方法相比,上述方法有什么好处?我是Java的新手,确实有两个循环(不是嵌套)阻碍了时间的复杂性.这两种算法都应该有O(n)对吗?对于这个问题,还有比这两个解决方案更快,更少的空间复杂度算法吗?
class Demo {
void show() {
System.out.println("i am in show method of super class");
}
}
class Flavor1Demo {
// An anonymous class with Demo as base class
static Demo d = new Demo() {
void show() {
super.show();
System.out.println("i am in Flavor1Demo class");
}
};
public static void main(String[] args){
d.show();
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我不了解在其前面带有static关键字的Demo类的创建对象d的用法。如果我消除了static关键字,则会显示错误。实际上,我正在经历匿名的内部类概念,并被困在这里。需要帮助...。任何人都可以解释一下吗?
在我的 angular2 组件中,我列出了数据,我想使用 booststrap 类(col-md-4)将这些数据显示到 3 列中。
例如,我有如下所示的 json 对象。
{
"menuList":[
{"id":1,"sn":"nd","name":"Noodles"},
{"id":2,"sn":"sd","name":"Salad"},
{"id":3,"sn":"sp","name":"Soup"},
{"id":4,"sn":"fb","name":"Fresh Bowl"},
{"id":5,"sn":"sn","name":"Snacks"},
{"id":6,"sn":"pz","name":"Pizza"},
{"id":7,"sd":"nd","name":"Sandwich"}
]
Run Code Online (Sandbox Code Playgroud)
}
我想将名称显示为 3 列。
面条 沙拉 汤 新鲜碗 小吃 三明治
这是我尝试过的代码。
<div *ngFor="let menu of menuList; #i=index" *ngIf="i % 3 == 0" class="row">
<div class="col-md-4">{{menu[$i].name}}</div>
<div class="col-md-4">{{menu[$i + 1].name}}</div>
<div class="col-md-4">{{menu[$i + 2].name}}</div>
Run Code Online (Sandbox Code Playgroud)
但它显示错误,因为首先我不能在同一元素中使用 ngFor 和 ngIf 。
请给我一个解决方案。
奇怪的情况:有一个android应用程序。在它直接工作到 apache2 之前。最近我尝试使用 nginx 作为反向代理。应用程序停止工作。nginx 日志上的调试显示“ SSL_do_handshake() failed (SSL: error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate unknown:SSL alert number 46) while SSL handshaking”。然后切换回 apache2,打开调试,但在 apache2 应用程序连接使用 TLS 而不是 SSLv3。有没有人遇到过这种情况?为什么android应用程序尝试使用SSLv2(已弃用)但使用带有TLS的apache2连接nginx?感谢您提前的想法。
微服务 A 依赖于微服务 B 和 C。当客户端调用服务 A 上的某个端点时,这将导致从 A 向服务 B 和 C 发出多个 HTTP 请求以获取依赖的详细信息。同时处理这种情况的最佳、性能有效的设计模式或方法是什么?
注意:在这种情况下我们没有使用 API 网关。
以下代码段无法编译.如何找到如下所示的sum使用forEach方法?
private int Sum(ArrayList<Integer> inputs) {
int sum = 0;
inputs.stream().forEach(x -> sum += x);
return sum;
}
Run Code Online (Sandbox Code Playgroud) java ×7
java-8 ×3
angular ×2
java-stream ×2
javascript ×2
arraylist ×1
arrays ×1
collections ×1
lambda ×1
nginx ×1
overriding ×1
rxjs ×1
spring-boot ×1
spring-mvc ×1
sslv3 ×1
string ×1
tostring ×1