我想计算一个以给定数字开头的HashMap中的所有键.每个键的大小并不总是相同的.例:
给定数字(长):
long l = 9988776655
Run Code Online (Sandbox Code Playgroud)
找到以该数字开头的键(长),如:
9988776655xxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
其中x代表任何整数.
我该如何处理这个问题?由于键的长度并不总是相同,因此我不能使用多个模运算.(或者我可以吗?)
我需要检查类的Id变量是否为null。如果为null,则必须将其插入一个列表中;如果不为null,则必须将其插入另一列表中。我这样做是这样的:
我不希望有两个流,我只想做一个,然后使用Strem和过滤器,您能帮我吗?
具有空ID的电子邮件将保留在数据库中。
List<Email> emails = payment.getUser().getEmails();
if (!emails.isEmpty()){
List<Email> create = emails.stream().filter(email -> email.getId() == null).collect(Collectors.toList());
List<Email> existingEmails = emails.stream().filter(email -> email.getId() != null).collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud) 我有以下问题。我想用一个方法获取一个列表,在该列表中找到一个值并将其替换为另一个。
void replaceAll( ArrayList<Integer> arr, Integer toFind, Integer replacement) {
int indexOfArray = arr.indexOf(toFind);
if(arr.contains(toFind)) {
for(int x = 0; x < arr.size(); x++) {
if (arr.contains(toFind)) {
arr.remove(toFind);
arr.add(indexOfArray, replacement);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我为自己制定的解决方案,它肯定有效。但是,我认为它可以在不使用 for 循环的情况下更干净地完成。有人能告诉我怎么做吗?
我正在研究一个使用join方法的小例子Thread.sleep,但我很困惑流程是如何工作的.
这是我的计划:
public class Test implements Runnable {
private String msg;
private int seconds;
public Reminder(int sec, String msg) {
this.sec= sec;
this.msg= msg;
}
public void run() {
try {
Thread.sleep(sec* 1000);
System.out.print(msg+ " ");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(new Test(1, "one"));
Thread t2 = new Thread(new Test(3, "two"));
t2.start();
t1.start();
t2.join();
t1.join();
}
}
Run Code Online (Sandbox Code Playgroud)
因为我正在调用t2.join(),所以t2线程应该在t1 …
为什么我们使用Runnable接口,即使它与start()方法没有关联?为什么我们不能只写run()方法并开始?
为什么我们需要实现run()方法,而不是直接使用它并使用start()方法启动进程?
我有这个列表[9,4,5]我想将每个元素乘以 2 然后我总结我将得到的结果
9*2=18,4*2=8,5*2=10然后我总结18+8+10=36
你们能帮我写这个吗