小编Xxx*_*xxo的帖子

检查目录是否是python 2.7的挂载点

是否有pythonic方式并且没有shell命令(即使用子进程模块)来检查目录是否是挂载点?

到目前为止我使用:

import os
import subprocess

def is_mount_point(dir_path):
    try:
        check_output([
            'mountpoint',
            path.realpath(dir_name)
        ])
        return True
    except CalledProcessError:
        return False
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

迭代器VS ArrayList.addAll()与JAVA中的克隆方法

我的问题是基于这样的假设:该ArrayList.addAll()方法不会创建新对象,而是将相同的对象附加到ArrayList.

因此,为了addAll对象而且还有新对象,则必须进行构造.

例如,假设BooClass类Cloneable使用深层副本实现接口,我们有:

ArrayList<BooClass> foo1 = new ArrayList<BooClass>();
for (int i = 0; i < 10; i++) foo1.add(new BooClass());

ArrayList<BooClass> foo2 = new ArrayList<BooClass>();
Run Code Online (Sandbox Code Playgroud)

然后,如果有人想添加的所有元素foo1,以foo2作为新的对象,他应该这样做:

foo2.addAll(foo1.clone());
Run Code Online (Sandbox Code Playgroud)

因为:

foo2.addAll(foo1);
Run Code Online (Sandbox Code Playgroud)

会导致(?)foo1并在其中foo2包含相同的BooClass对象.

所以,如果以上是正确的,那么我的问题是两者中的哪一个更快:

Iterator<BooClass> itBoo = foo1.iterator();
while(itBoo.hasNext()) foo2.add(itBoo.next().clone());
Run Code Online (Sandbox Code Playgroud)

要么:

foo2.addAll(foo1.clone());
Run Code Online (Sandbox Code Playgroud)

java iterator clone arraylist

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

标签 统计

arraylist ×1

clone ×1

iterator ×1

java ×1

python ×1

python-2.7 ×1