小编azr*_*zro的帖子

在Java中的Map中查找以给定数字开头的数字

我想计算一个以给定数字开头的HashMap中的所有键.每个键的大小并不总是相同的.例:

给定数字(长):

long l = 9988776655
Run Code Online (Sandbox Code Playgroud)

找到以该数字开头的键(长),如:

9988776655xxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

其中x代表任何整数.

我该如何处理这个问题?由于键的长度并不总是相同,因此我不能使用多个模运算.(或者我可以吗?)

java dictionary key hashmap

-1
推荐指数
1
解决办法
63
查看次数

仅对一个流进行两次检查并过滤

我需要检查类的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)

java lambda java-stream

-1
推荐指数
1
解决办法
36
查看次数

Java,替换列表中的值

我有以下问题。我想用一个方法获取一个列表,在该列表中找到一个值并将其替换为另一个。

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 循环的情况下更干净地完成。有人能告诉我怎么做吗?

java list

-2
推荐指数
1
解决办法
6091
查看次数

Thread.Join没有按预期工作

我正在研究一个使用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 …

java multithreading

-2
推荐指数
1
解决办法
520
查看次数

为什么我们使用Runnable接口?

为什么我们使用Runnable接口,即使它与start()方法没有关联?为什么我们不能只写run()方法并开始?

为什么我们需要实现run()方法,而不是直接使用它并使用start()方法启动进程?

java

-6
推荐指数
1
解决办法
92
查看次数

Python 在列表中执行计算

我有这个列表[9,4,5]我想将每个元素乘以 2 然后我总结我将得到的结果 9*2=18,4*2=8,5*2=10然后我总结18+8+10=36

你们能帮我写这个吗

python list

-6
推荐指数
1
解决办法
64
查看次数

标签 统计

java ×5

list ×2

dictionary ×1

hashmap ×1

java-stream ×1

key ×1

lambda ×1

multithreading ×1

python ×1