最近我注意到,当我转换list到set元素的顺序发生变化,由字符排序.
考虑这个例子:
x=[1,2,20,6,210]
print x
# [1, 2, 20, 6, 210] # the order is same as initial order
set(x)
# set([1, 2, 20, 210, 6]) # in the set(x) output order is sorted
Run Code Online (Sandbox Code Playgroud)
我的问题是 -
用文字解释这个案子很难,让我举一个例子:
var myObj = {
'name': 'Umut',
'age' : 34
};
var prop = 'name';
var value = 'Onur';
myObj[name] = value; // This does not work
eval('myObj.' + name) = value; //Bad coding ;)
Run Code Online (Sandbox Code Playgroud)
如何在JavaScript对象中设置具有变量值的变量属性?
对于列表,我们使用该Collections.sort(List)方法.如果我们想要排序HashSet怎么办?
我正在尝试优化一段比较列表元素的代码.
例如.
public void compare(Set<Record> firstSet, Set<Record> secondSet){
for(Record firstRecord : firstSet){
for(Record secondRecord : secondSet){
// comparing logic
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,套装中的记录数量会很高.
谢谢
谢卡尔
有没有检查表是否包含值的方法?我有自己的(幼稚)功能,但我想知道是否存在"正式"的东西?或者更高效的东西......
function table.contains(table, element)
for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我使用这个函数的主要原因是使用表作为集合,即没有重复的元素.还有其他我可以使用的东西吗?
编辑:根据原始答案重写这个问题
该scala.collection.immutable.Set班是不是在它的类型参数不变性.为什么是这样?
import scala.collection.immutable._
def foo(s: Set[CharSequence]): Unit = {
println(s)
}
def bar(): Unit = {
val s: Set[String] = Set("Hello", "World");
foo(s); //DOES NOT COMPILE, regardless of whether type is declared
//explicitly in the val s declaration
}
Run Code Online (Sandbox Code Playgroud) 如果有人熟悉Objective-C中有一种叫做集合NSOrderedSet充当集及其项目可以作为访问数组的人.
Java中有这样的东西吗?
我听说有一个名为的集合LinkedHashMap,但是我找不到任何类似的集合.
我正在学习python,我有一个关于初始化集的新手问题.通过测试,我发现可以像这样初始化一个集合:
my_set = {'foo', 'bar', 'baz'}
Run Code Online (Sandbox Code Playgroud)
这样做是否有任何缺点,而不是标准方式:
my_set = set(['foo', 'bar', 'baz'])
Run Code Online (Sandbox Code Playgroud)
还是只是一个风格问题?
你如何比较两个JavaScript集?我试着用==和===,但都返回false.
a = new Set([1,2,3]);
b = new Set([1,3,2]);
a == b; //=> false
a === b; //=> false
Run Code Online (Sandbox Code Playgroud)
这两个集是等价的,因为根据定义,集合没有顺序(至少不是通常的).我查看了在MDN上设置的文档,发现没什么用处.有人知道怎么做吗?
我想画一个文字到油漆.如何用自定义字体(前Helvetica)和粗体绘制它?我宁愿使用系统字体而不是从资产创建它.谢谢.
set ×10
java ×3
collections ×2
javascript ×2
python ×2
android ×1
contains ×1
covariance ×1
ecmascript-6 ×1
fonts ×1
hashset ×1
lua ×1
lua-table ×1
object ×1
paint ×1
performance ×1
properties ×1
python-2.7 ×1
scala ×1
sorting ×1
unique ×1