草庐IT

Collections2

全部标签

generics - 我可以在没有未经检查的异常的情况下使用 Collections.EMPTYLIST 吗?

是否有在我的Java程序中使用Collection.EMPTY_LIST的泛型友好方式。我知道我可以自己声明一个,但我只是想知道JDK中是否有一种方法可以做到这一点。类似于users=Collections.EMPTY_LIST; 最佳答案 通过执行以下操作:Listusers=Collections.emptyList();由于分配的左侧,从Collections.emptyList();返回的列表的类型将被推断为String。但是,如果您不想进行此推断,则可以通过执行以下操作来明确定义它:Listusers=Collection

java - 关于 Java Collections Framework 中的非同步和同步访问?

谁能解释一下什么是Java集合框架中的非同步和同步访问? 最佳答案 同步与非同步访问与Java集合框架无关。同步访问意味着您有某种类型的锁定来访问数据。这可以通过使用synchronized关键字或通过使用java.util.concurrent包中的一些更高级别的构造来引入。非同步访问意味着您在访问数据时不涉及任何锁定。如果您在多个线程中使用一个集合,您最好确保以同步方式访问它,或者集合本身是threadsafe,即在内部处理这种锁定。要确保以同步方式访问某些集合coll的所有访问,您可以...使用synchronized(col

java - 使用 Collections.sort(object) 比较 Long 值

我正在尝试按长字符串对一个简单的对象列表进行排序-以下内容不起作用,因为其中一个长字符串被推到顶部仅仅是因为它以较小的数字开头。所以我正在寻找一种方法来直接按实际的long值对这些进行排序当前的obj实现如下所示。在我正在使用的类中,我调用Collections.sort(trees);publicclassTreeimplementsComparable{publicStringdist;//valueisactuallyLongpublicintcompareTo(Treeo){returnthis.dist.compareTo(o.dist);}} 最

java - 使用 Collections.sort 后在 List 中添加了新的排序方法

这个问题在这里已经有了答案:DifferencebetweenCollections.sort(list)andlist.sort(Comparator)(3个答案)关闭4年前。当我们规定使用Collections.sort对列表进行排序时,为什么在java8中的java.util.List中添加了一个新的排序方法

java - java.util.Collections.sort() 方法的时间复杂度是多少?

我写了下面的类:publicclassSortingObjectsWithAngleFieldimplementsComparator{publicintcompare(Pointp1,Pointp2){doubledelta=p1.getAngle()-p2.getAngle();if(delta==0.00001)return0;return(delta>0.00001)?1:-1;}}然后,在我的main()方法中,我创建了一个List,我向其中添加了一些具有“X”和“角度”字段的对象。然后我使用:Collections.sort(list,newSortingObjectsWi

python - 使用 collections.OrderedDict 是不好的做法吗?

我喜欢用collections.OrderedDict有时当我需要一个关联数组时,应该保留键的顺序。最好的例子是解析或创建csv文件,其中在对象中隐式保留列的顺序很有用。但我担心这是不好的做法,因为在我看来,关联数组的整个概念是键的顺序应该从不重要,并且任何操作依赖排序应该只使用列表,因为这就是存在列表的原因(这可以为上面的csv示例完成)。我没有这方面的数据,但我敢打赌,列表的性能普遍优于OrderedDict。所以我的问题是:OrderedDict是否有任何真正引人注目的用例?csv用例是应该在哪里使用它的好例子还是不好的例子? 最佳答案

python - 如何将 collections.Counter 对象写入 python 中的文件,然后从文件中重新加载它并将其用作计数器对象

我有一个Counter对象,它是通过处理大量文档形成的。我想将这个对象存储在一个文件中。并且这个对象需要在另一个程序中使用,为此我想将存储的Counter对象从文件原封不动地加载到当前程序(作为计数器对象)。有什么办法可以做到这一点吗? 最佳答案 您可以使用picklemodule将任意Python实例序列化为文件,并在稍后将它们恢复到原始状态。这包括Counter对象:>>>importpickle>>>fromcollectionsimportCounter>>>counts=Counter('thequickbrownfoxj

python - 为什么 collections.Counter 将 numpy.nan 视为平等的?

我对以下行为感到惊讶:>>>importnumpyasnp>>>fromcollectionsimportCounter>>>my_list=[1,2,2,np.nan,np.nan]>>>Counter(my_list)Counter({nan:2,2:2,1:1})#Countertreatsnp.nanasequaland#tellsmethatIhavetwoofthem>>>np.nan==np.nan#However,np.nan'sarenotequalFalse这是怎么回事?当我使用float('nan')而不是np.nan时,我得到了预期的行为:>>>my_list=

python - 在 python 源代码中查找 _collections

我想看看pythondeque类。当我检查thesourcecode,我在第10行找到了以下内容from_collectionsimportdeque,defaultdict我在哪里可以找到这个_collections模块?我搜索了我的Python源代码副本,但找不到它。这个类位于哪里? 最佳答案 _collections是内置扩展模块。您可以找到_collection模块的源代码here.Setup.dist包含内置扩展模块名称到源文件之间的映射。 关于python-在python源代

Python Sort Collections.DefaultDict 按降序排列

我有这段代码:visits=defaultdict(int)fortintweetsSQL:visits[t.user.from_user]+=1我在网上看了一些使用sorted方法的例子:已排序(visits.iteritems,key=operator.itemgetter(1),reverse=True)但它给了我:“TypeError:‘builtin_function_or_method’对象不可迭代”我不知道为什么。 最佳答案 iteritems是一种方法。您需要括号来调用它:visits.iteritems()。就目前