小编Rom*_*man的帖子

我应该使用迭代器来对HashMap进行循环吗?

我有一个HashMap<String,String>(被叫p2p),我想在它的元素上做一个循环.我找到了以下简单的方法:

for (String key : p2p.keySet()) {
   value = p2p.get(key);
}
Run Code Online (Sandbox Code Playgroud)

然而,后来我发现人们使用iterator().例如:

Iterator it = p2p.keySet().iterator();
while(it.hasNext()) {
    key = it.next();
    value = p2p.get(key);
}
Run Code Online (Sandbox Code Playgroud)

对我来说,第一种方式看起来更简单.所以,我的问题是为什么人们使用第二种方式?它是否具有一些客观优势,或者仅仅是品味和简单性的主观性问题?

java iterator loops hashmap

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

为什么matlab不理解文件名中的*?

我试着用:

dir('dirname\*')
Run Code Online (Sandbox Code Playgroud)

它不起作用.我开始使用它后开始工作:

dir('dirname\m*')
Run Code Online (Sandbox Code Playgroud)

有人知道为什么吗?

string matlab file dir

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

如何在MATLAB中显示由三个矩阵表示的图像?

我有3个相同大小的2D矩阵(比方说200行和300列).每个矩阵代表三种"基本"颜色(红色,绿色和蓝色)之一的值.矩阵的值可以在0到255之间.现在我想组合这些矩阵以将它们显示为彩色图像(200乘300像素).我怎么能在MATLAB中做到这一点?

rgb matlab image matrix

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

C++中的继承语法

我理解C++中的继承语法:

class DerivedClassName : public BaseClassName {}
Run Code Online (Sandbox Code Playgroud)

但是,在一个程序中,我发现了一个类似的字符串:

class ComplexNumberTest : public CppUnit::TestCase {
Run Code Online (Sandbox Code Playgroud)

我不明白这意味着什么.很明显,它ComplexNumberTest是子类CppUnitTestCase它们是什么?

我认为这CppUnit::TestCase意味着类的TestCase方法,CppUnit但那么DerivedClassName应该是方法的子类?

有人可以帮帮我吗?

c++ oop inheritance

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

如何在python中使用"import"?

如果我使用from sklearn import *from skleanr import datasets,那么我可以通过以下方式使用数据集:iris = datasets.load_iris().

但是,import sklearnimport sklearn as sk没有像我期望的那样工作.例如,我不能使用sklearn.datasets.import_iris()sk.datasets.import_iris().我是否误解了导入语法?情况就是这样,使用导入的正确方法是什么.

python syntax python-import scikit-learn

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

pandas和文件系统可以用作数据库的替代品吗?

我用pandas处理数据.我喜欢这种方法,因为在pandas中操作数据非常容易(选择行,添加行,删除列,分组,连接表等).

我的问题是,如果数据庞大,大熊猫也是一个很好的方法.特别是我担心修改和提取数据.在我可以修改数据或从数据中提取某些东西之前,我需要从文件中读取(加载)数据,然后,在我做了我想做的事情(选择或修改)之后,我需要将数据保存回文件.我担心这种"加载"和"保存"如果数据可能对于大数据来说非常慢.通过庞大的数据,我了解了数亿行.

特别是,我的问题是pandas是否可以用作数据库的替代品(例如SQLite或MySQL).或者,与查找保存为文件的相应数据帧中的相同行相比,使用Python的python接口查找巨大表中的特定行(保存在MySQL数据库中)是否更快?

python database pandas

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

在C++中使用auto的最简单的例子是什么?

我试着理解如何auto在C++中使用.对我来说,理解某事的最好方法是看一个例子.但是,我看到的例子并不那么简单.例如,这里是" C++ 0x auto keyword的含义,例如? ".要理解这个例子,我需要知道什么是"模板","指针","malloc"等等.

任何人都可以使用auto给出一个简约的例子,这样可以很容易地理解它的用途吗?

c++ auto

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

为什么我们将传递的参考值视为地址?

我找到了这段代码:

foo::foo(const foo & arg) :
     impl_(new impl(*arg.impl_))
{};
Run Code Online (Sandbox Code Playgroud)

据我所知,这个类的构造函数将该类foo的另一个对象foo作为唯一的参数.我不清楚的是为什么我们*在前面使用arg.据我所知,当我们通过引用传递参数时,我们应该将函数的"体"中的这些参数视为正常变量(而不是变量的地址,我们不应该使用*).

c++ syntax constructor pass-by-reference

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

在C++中调用不存在的构造函数

假设我们有一个类String:

class String {
   public: 
   String (int n);
   String(const char *p);
}
Run Code Online (Sandbox Code Playgroud)

如果我们尝试将会发生什么:

String mystring='x';
Run Code Online (Sandbox Code Playgroud)

这里写的是char'x'将转换为int并将调用String(int)构造函数.但是,我不明白.

首先,'x'如何转换为int?我可以想象"3"将被转换为3"x"将被转换为什么?其次,我们在课堂上有两个构造函数.第一个构造函数接受一个int类型的参数,另一个构造函数接受一个指向char变量的指针作为参数.现在我们尝试调用不存在将char作为参数的构造函数.所以,我们将char转换为整数,但为什么我们不尝试将char转换为指向char的指针然后使用第二个构造函数?

c++ type-conversion

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

如何向仅包含一列且具有自增主键的sqlite表插入数据?

我想在 sqlite 中有一个“计数器”表,它总是给我一个新的唯一 ID。我通过以下方式管理了我需要的内容。首先,我创建下表:

cursor.execute('''create table second (id integer primary key autoincrement, age integer)''')
Run Code Online (Sandbox Code Playgroud)

然后我执行以下命令序列:

cursor.execute('''insert into second (age) values (1)''')
cursor.lastrowid
Run Code Online (Sandbox Code Playgroud)

每次执行以上两列时,我都会得到一个新整数。这正是我所需要的。然而,上述解决方案并不优雅,因为我使用了我并不真正需要的列(“年龄”)。我使用的原因如下。我可以创建一个仅包含一列且具有 ID 的表:

cursor.execute('''create table first (id integer primary key autoincrement)''')
Run Code Online (Sandbox Code Playgroud)

但是,问题是我无法插入到该表中。以下不起作用:

cursor.execute('''insert into first () values ()''')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

sqlite3.OperationalError: near ")": syntax error
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决所描述的问题吗?

python sqlite insert primary-key auto-increment

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