小编IUn*_*own的帖子

数学战争替代java

我需要从任何数字x到0总和2的幂.如果x = 6,所需的总和是2pow6 + 2pow5 + ..... 1.虽然我总是可以编写一个使用Math.pow降低到0的算法 - 这个函数在循环中似乎是性能上的臭名昭着.如果有人可以使用移位二元运算符帮助实现相同的目标,我将不胜感激 - 我听说它们比pow更有效率.

java binary

2
推荐指数
2
解决办法
1346
查看次数

Python - 与字典和列表相交

给定以下数据结构,找出交集的最有效方法是什么 - 这两个数据结构都是通用的.

dict1 = {'2A':'....','3A':'....','4B':.....}  
list1 = [......,'2A','4B'.....]

Expected output = ['2A','4B']
Run Code Online (Sandbox Code Playgroud)

我可以将列表(不是dict1)组织到任何其他数据结构中,如果它也产生更快的输出.由于这个查找有2个可以完成大量的决策 - 速度至关重要.

python

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

理解能在这里吗?

我有一个元组列表:

l=[('soccer',11),('tennis',2),('chess',2),('xanadu',None)]
Run Code Online (Sandbox Code Playgroud)

假设我们定义一个函数如下:

def func(x):
    if type(x) is int:
       return x*2
    else:
       return None
Run Code Online (Sandbox Code Playgroud)

我需要将此函数应用于每个元组的元素[1],并将结果返回为以元素[0]为键的字典.

这可能是对列表'l'的理解吗?
只是为了让事情变得有趣 - 我需要只包含那些func(x)返回int的结果.

预期产量:

{'soccer':22,'tennis':4,'chess':4}
Run Code Online (Sandbox Code Playgroud)

python

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

处理字典词典

我有一本字典 - 其中的值是字典本身.
如何以最有效的方式从子词典中提取唯一的值集?

{ 'A':{'A1':'A1V','B2':'A2V'..},
  'B':{'B1':'B1V','B2':'B2V'...},
  ...}
Run Code Online (Sandbox Code Playgroud)

预期产量:

['A1V','A2V','B1V','B2V'...]
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

for循环遍历java中的偶数

我认为以下应该可以做到这一点 - 但似乎并非如此。

int[] jokes=new int[]{5,7,8,9,3,4,6,1,7};
        for(int k=0;k<jokes.length && jokes[k]%2==0;k++){
            System.out.println(jokes[k]);
        }
Run Code Online (Sandbox Code Playgroud)

无论如何,在函数内求值都会起作用 - 但想检查是否有一种方法可以在 for 循环定义本身中过滤搜索(也许通过在循环定义本身中调用函数?)如果我们能够实现这一点,那就太酷了。

java arrays

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

实习一个字符串

当我们实习字符串时,我们确保该字符串的所有使用都指向同一个实例.

我假设底层字符串对象在堆中.

但是,引用变量存储在内存中的哪个位置?

它是否具有与以下相同的行为static- 其中引用存储在permgen中并且仅在类加载器(和应用程序)退出后才使字符串实例可用于gc?

java jvm memory-management

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

解释一个lambdas列表

我有一个包含一些lambda元素的列表:

l=['A',lambda x:x*2,lambda x:x*3]
Run Code Online (Sandbox Code Playgroud)

在执行lambda之后如何将此列表附加到另一个(如下所示 - 显然这个不起作用):

m=list(k=k(3) if isinstance(k,types.FunctionType) else k for k in l)
Run Code Online (Sandbox Code Playgroud)

预期的是:

m=['A',6,9]
Run Code Online (Sandbox Code Playgroud)

这可能吗?

python lambda callable

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

从一个千兆字节的文件中读取

对于大型文件或管道流,缓冲支持的解决方案(BufferedInputStream/ByteArrayInputStream)显然不是可行的方法.如果有人能告诉我处理这种情况的推荐方法,我将不胜感激.

我可以想到这一点 - 但可能不是那里最好或最有效的方法:

public class Streams {
  public static void main(String[] args) throws IOException {
    DataInputStream reader=null;
    try{
      try {
        reader=new DataInputStream(new FileInputStream("/path/file"));
      } catch (FileNotFoundException e1) {
        throw e1;
      }
      while(true) {
        try {
          byte a=reader.readByte();
        } 
        catch(EOFException e) {
          //consume
        }
        catch (IOException e) {
          //throw
          throw e;
        }
        //do something
      }
    }
    finally {
      try {
        reader.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

java file-io fileinputstream

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

Lambda没有解析类型

我看到一个奇怪的问题,eclipse并没有识别我的lambda参数

public static void main(String[] args) {
    int[] array = {23,43,56,97,32};
    int sum1 = Arrays.asList(array).stream().reduce(0, (total, e) -> total + e).intValue(); 
}
Run Code Online (Sandbox Code Playgroud)

我得到total并且e无法解决变量.
我看到'total'和'e'被用作参数而没有声明的例子.
但是,在我的情况下 - 它拒绝编译而不声明.
这是什么问题?

java lambda java-stream

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

通用可调用

我试图实现一个通用的callable来委派不同类型的帐户的修改.代码如下所示:

import java.util.concurrent.Callable;
class Task<T extends BaseAccount> extends Callable<T extends BaseAccount> {

  private final T t;

  public Task(T t) {
    this.t = t;
  }

  @Override
  public T call() throws Exception {
    t.increment();
    return t;
  }

}
Run Code Online (Sandbox Code Playgroud)

BaseAccount只是一个抽象类,如下所示:

abstract class BaseAccount {
  abstract public void increment();
}
Run Code Online (Sandbox Code Playgroud)

但显然我没有到达那里,因为我看到很多与泛型有关的编译错误.希望通过这一点获得帮助.

java generics callable

0
推荐指数
1
解决办法
4763
查看次数

连接列表

我有一个字典,其中值元素是列表:

d1={'A': [], 'C': ['SUV'], 'B': []}
Run Code Online (Sandbox Code Playgroud)

只有当列表非空时,我才需要将值连接到单个列表中.
预期产量:

o=['SUV']
Run Code Online (Sandbox Code Playgroud)

感谢帮助.

python

0
推荐指数
1
解决办法
131
查看次数

在对象上同步

这种情况有什么问题:

private static final Integer LOCK=0;
synchronized(LOCK){

//work
}
Run Code Online (Sandbox Code Playgroud)

建议不要使用推荐的监视器来锁定.

java

0
推荐指数
1
解决办法
32
查看次数

如何使用流过滤器和总和

这种方式是使用java流过滤和求和的最有效方法吗?

public static void main(String[] args){
    int[] array = {23,43,56,97,32};
    int sum1 = Arrays.stream(array).boxed().filter(e -> 35 < e).reduce(0,(a,b)->a+b);
}
Run Code Online (Sandbox Code Playgroud)

什么是更好的选择(如果有)以及为什么?

java java-stream

0
推荐指数
1
解决办法
177
查看次数