我正在尝试将一些使用 Map 的 Java 代码映射到 Typescript 代码。我最初的想法是在 Typescript 中使用 Map,但是对于我创建的界面,这没有用。相反,我发现 Records 似乎完美地模拟了 Java 的 Map。
我的主要问题是我什么时候应该在 Records 上使用 Typescript 的 Maps,什么时候应该在 Maps 上使用 Typescripts Records?
它们的工作方式有何不同?
viewMappings: Record<string, String[]>;
viewMappings: Map<String, String[]>;
Run Code Online (Sandbox Code Playgroud)
例如
我希望这些可以在与我所在州非常相似的界面中工作,但他们没有,我正在寻找两者差异的文档。
for (int i = 0; i < n; ++i ) { //n
for (int j = 0; j < i; ++j) { //n
cout<< i* j<<endl;
cout<< ("j = " + j);
}
for (int k = 0; k < n * 3; ++k) //n?
cout<<"k = " + k);
}
Run Code Online (Sandbox Code Playgroud)
在这个循环中,我看到第一个for循环是O(n),第二个循环也是O(n),但第三循环对我来说很困惑.K小于扩展的东西,这个循环也是O(n)吗?如果是这样,那么另一个循环的时间复杂度中的两个循环在这种情况下会出现什么?我假设O(n ^ 2)由于中间的两个n没有以任何方式相乘.它是否正确?另外,如果我是正确的并且第二个循环是O(n),那么如果它是O(logn),时间复杂度会是多少?
(不是作业,只是为了理解目的)