标签: collect

我想要回忆我的记忆!我怎样才能真正处置控件?

我有一个我正在制作的应用程序,它创建了大量的窗口控件(按钮和标签等).它们都是通过功能动态制作的.我遇到的问题是,当我删除控件并处理它们时,它们不会从内存中删除.

void loadALoadOfStuff()
{
    while(tabControlToClear.Controls.Count > 0)
        tabControlToClear.Controls[0].Dispose();
    //I even put in:
    GC.Collect();
    GC.WaitForPendingFinalizers();
    foreach(String pagename in globalList)
        tabControlToClear.Controls.Add(MakeATab(pagename));
}

TabPage MakeATab(string tabText)
{
    TabPage newT = new MakeATab();
    newT.Text = tabText;
    //Fill page with controls with methods like this
    return newT;
}
Run Code Online (Sandbox Code Playgroud)

现在由于某种原因,这只是没有给我回忆,所以当进程运行5次时,我最终会出现内存不足的情况.我是对象和控制处置的新手,但是通过庞大的网络查看仍然没有给我任何指示,所以如果你们有任何想法,我会很高兴听到它.

更新:我一直在关注用户对象的创建和销毁(taskmanager),并注意到我创建了一个标签页,添加了一个单击处理程序,添加了一个面板,添加了两个按钮,包括点击处理程序,工具提示和背景图像(我认为这是哪里问题是).该应用程序说它创建了8个新项目,但是当我运行我的处理时,我只从内存中删除4个.我一直试图删除事件处理程序,但似乎没有任何区别.

解决!!!当我向面板添加新项目时,我向他们传递了一个工具提示(愚蠢,但我正在学习).对于其他任何有同样问题的人,(感谢下面的人的评论和指示.我发现为了让控件真正处理掉(因为我意识到我错误地把它放了)是:

1:如果你有工具提示,请确认它是可以访问的!不要做我想做的事!例如:

这是错的!

TabPage MakeATab(string tabText)
{
    TabPage newT = new MakeATab();
    ToolTip myTip = new ToolTip();
    newT.Text = tabText;
    //Fill page with controls with methods like this
    myTip.SetToolTip(newT, "Something to say");
    return newT;
} …
Run Code Online (Sandbox Code Playgroud)

c# memory controls dispose collect

7
推荐指数
1
解决办法
7686
查看次数

如何从我的Android设备获取所有图像和照片而不是从SD卡?

我想从我的Android设备获取所有图像/照片/壁纸与图像保存路径.

我已经实现了从sdcard收集图像的代码,如下所示:

String[] mProjection = {
    MediaStore.Images.Media._ID,
    MediaStore.Images.Media.DATA
};

mCursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
    mProjection,
    null,
    null,
    MediaStore.Images.Media.DEFAULT_SORT_ORDER);
Run Code Online (Sandbox Code Playgroud)

从上面的代码我只能从sdcard中检索图像.但如果图像在设备手机内存中可用,那么我该如何检索图像/照片/壁纸?如果我使用INTERNAL_CONTENT_URI它不会返回wallapers info其他图像信息

请任何身体帮助我....

android collect android-image

7
推荐指数
1
解决办法
5485
查看次数

Scala:在一次迭代中过滤和映射的最佳方式

我是Scala的新手,并试图找出过滤和映射集合的最佳方法.这是一个解释我的问题的玩具示例.

方法1:这非常糟糕,因为我在列表中迭代两次并在每次迭代中计算相同的值.

val N = 5
val nums = 0 until 10
val sqNumsLargerThanN = nums filter { x: Int => (x * x) > N } map { x: Int => (x * x).toString }
Run Code Online (Sandbox Code Playgroud)

方法2:这稍微好一点,但我还需要计算(x * x)两次.

val N = 5
val nums = 0 until 10
val sqNumsLargerThanN = nums collect { case x: Int if (x * x) > N => (x * x).toString }
Run Code Online (Sandbox Code Playgroud)

那么,是否可以计算这个而不重复两次收集并避免重复相同的计算?

collections dictionary scala filter collect

7
推荐指数
3
解决办法
1860
查看次数

Spark中两个大数据集之间的模糊连接

我需要根据两列字符串的相似性在两个大数据集之间进行模糊连接(假设每个数据集为30Gb).例如:

表格1:

Key1  |Value1
-------------
1     |qsdm fkq jmsk fqj msdk
Run Code Online (Sandbox Code Playgroud)

表2:

Key2  |Value2
-------------
1     |qsdm fkqj mskf qjm sdk
Run Code Online (Sandbox Code Playgroud)

我们的目的是计算value1的每一行与value2的每一行之间的相似性的余弦,之后,感谢thresold预定义,我可以加入两个表.

关键词:实体分辨率,相似度余弦,倒排索引(优化相似度计算),TF-IDF,令牌权重,单词,文档(值列中的单元格),数据集

我使用Spark(PySpark)来计算连接.在进行的那一刻,我有:

  • (key1,dict1)的RDD RDD1:key1是table1的关键字,dict1是字的字典及其在数据集table1上的权重(权重向量)
  • (key2,dict2)的RDD RDD2:key2是table2的关键字,dict2是word的字典及其在数据集table2上的权重(权重向量)
  • (key1,norm1)的RDD NORM1:key1是table1的键,norm1是在dict1上预先计算的值
  • (key2,norm2)的RDD NORM2:key2是table2的键,norm2是在dict2上预先计算的值

使用倒排索引的策略,我减少了两个文档之间相似性的计算次数(字符串).它是一个RDD CommonTokens((key1,key2),令牌)数组:key1是table1中的键,key2是table2中的键,令牌是value1和value2之间的常用令牌列表.对于CommonTokens中的每个元素,我计算生成相似度的余弦((key1,key2),相似度).

在火花中,我做了:

  • collectAsMap RDD1,NORM1,RDD2,NORM2构建4个字典
  • 创建函数相似度:

    • 输入:(key1,key2,commonTokens)
    • 在RDD1和NORM1中查找key1,在RDD2和NORM2中查找key2
    • 计算余弦值
    • return(key1,key2,相似度)
  • 在CommonTokens中应用具有上面定义的相似性函数的地图

  • 配置将我的工作提交给YARN:

spark-submit --master yarn-client --executor-cores 3 --executor-memory 20G --driver-memory 20G --driver-cores 12 --queue cku --num-executors 6 run/Join.py&

火花问题:

  • 很多CollectAsMap ==>重载驱动程序==>死锁
  • 不能在另一个RDD转换中进行RDD转换(而不是使用collectAsMap,直接使用RDD1,RDD2,NORM1,NORM2查找key1,在CommonTokens.Map内部的key2)
  • 我试图将RDD1,RDD2,NORM1,NORM2"转换"为数据帧,并使用Spark SQL"选择"(查找),但它在地图内部无效
  • 一个额外的问题是,如果我的算法对我的情况有效吗?

感谢您的任何建议(对不起我的英文,如果我的问题不明确,请随时向我询问更多信息)

join similarity collect apache-spark pyspark

7
推荐指数
1
解决办法
2192
查看次数

如何在模型中对项目数组使用命名范围?

我知道我可以查询基于数组的最新书籍

scope :recent_books, lambda {|since_dt| {:conditions=>{:created_at >= since_dt}}}

但是当我有一个项目数组时如何进行类似的查询,例如,如果我想知道是否有任何记录与[date1,date2,date3等]数组中的日期匹配,该怎么办?

我认为必须有一个collect/inject/select/map y方法才能做到,但我不确定从哪个读取它们.

ruby select model ruby-on-rails collect

6
推荐指数
2
解决办法
7615
查看次数

如何使Groovy/Grails返回一个对象列表而不是一个对象列表?

我有一个这样的课:

class Foo {
    static hasMany = [bars: Bar]
}
Run Code Online (Sandbox Code Playgroud)

我写的时候:

Foo.getAll()
Run Code Online (Sandbox Code Playgroud)

我得到一个Foo像这样的对象列表:

[ Foo1, Foo2, Foo3 ]
Run Code Online (Sandbox Code Playgroud)

我写的时候:

Foo.getAll().bars
Run Code Online (Sandbox Code Playgroud)

我得到一个Bar像这样的对象列表:

[ [ Bar1, Bar2 ], [ Bar2, Bar3 ], [ Bar1, Bar4 ] ] 
Run Code Online (Sandbox Code Playgroud)

但我想要的是一个Bar像这样的唯一对象列表:

[ Bar1, Bar2, Bar3, Bar4 ]
Run Code Online (Sandbox Code Playgroud)

我的最终目标是Bar在上面的列表中有一个唯一的对象ID 列表,如下所示:

[ 1, 2, 3, 4 ]
Run Code Online (Sandbox Code Playgroud)

我尝试过收集方法的各种变化,我也尝试过传播算子,但我没有运气.

collections grails groovy closures collect

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

Java lambdas:将节点从列表复制到新列表

我是Java lambdas的新手,我不确定我想要的是否可以实现:我有一个对象列表,我想过滤它们以提取那些匹配给定条件的对象,并将它们放入一个单独的列表(所以我可以对它们执行一些操作,保持原始列表不被修改)我想出了这个:

  List<Suggestion> only_translations = original_list.stream().
    filter(t -> t.isTranslation).
    collect(Collectors.toCollection(() -> new ArrayList<Suggestion>()));
Run Code Online (Sandbox Code Playgroud)

但即使我得到一个新的列表对象,节点似乎链接到原始列表(通过引用,而不是从原始列表中复制的新对象),因此修改新列表中的对象也会修改原来的.

所以,我想知道它是否可行实现(使用lambdas,我知道我可以用迭代所有元素的"经典"方式),在这种情况下,如何实现.提前致谢!

java lambda filter collect java-stream

6
推荐指数
1
解决办法
1510
查看次数

使用collect闭包方法在groovy中填充HashMap

我试图从列表填充地图.这就是我在做什么.

itemNoList = [1,2,3,4]
bookMap = [:]
bookMap = itemNoList.collect{ [ (it) : it+1 ] }
Run Code Online (Sandbox Code Playgroud)

当我这样做时,bookMap变为ArrayList类型,现在有一个HashMap列表.

bookMap现在是[{1=2}, {2=3}, {3=4}, {4=5}],即地图列表.

我怎样才能使用collect方法从ArrayList获取HashMap ?通过使用each替代方法很容易解决这个问题collect,但我只是好奇它是否可以使用collect.

groovy closures arraylist hashmap collect

5
推荐指数
1
解决办法
6041
查看次数

Java 8收集vs reduce

众所周知,在进行累积时,"reduce"总是返回一个新的不可变对象,而"collect"将对可变对象进行更改.

但是,当我不小心为reduce和collect方法分配一个方法引用时,它编译时没有任何错误.为什么?

看看下面的代码:

public class Test {
    @Test
    public void testReduce() {

        BiFunction<MutableContainer,Long,MutableContainer> func =
            MutableContainer::reduce;

        // Why this can compile?
        BiConsumer<MutableContainer,Long> consume =
            MutableContainer::reduce;

        // correct way:
        //BiConsumer<MutableContainer,Long> consume =
        //  MutableContainer::collect;


        long param=10;

        MutableContainer container = new MutableContainer(0);


        consume.accept(container, param);
        // here prints "0",incorrect result,
        // because here we expect a mutable change instead of returning a immutable value
        System.out.println(container.getSum());

        MutableContainer newContainer = func.apply(container, param);
        System.out.println(newContainer.getSum());
    }
}

class MutableContainer {
    public MutableContainer(long sum) {
        this.sum = sum; …
Run Code Online (Sandbox Code Playgroud)

java reduce collect java-8

5
推荐指数
1
解决办法
676
查看次数

Pypsark-使用collect_list时保留空值

按照接受的答案pyspark collect_set或GROUPBY collect_list,当你做一个collect_list特定列,在null此列值将被删除。我已经检查过了,这是真的。

但就我而言,我需要保留null列-如何实现此目的?

我没有找到有关此类collect_list功能变体的任何信息。


解释我为什么要空值的背景上下文:

我有一个数据框df如下:

cId   |  eId  |  amount  |  city
1     |  2    |   20.0   |  Paris
1     |  2    |   30.0   |  Seoul
1     |  3    |   10.0   |  Phoenix
1     |  3    |   5.0    |  null
Run Code Online (Sandbox Code Playgroud)

我想使用以下映射将其写入Elasticsearch索引:

"mappings": {
    "doc": {
        "properties": {
            "eId": { "type": "keyword" },
            "cId": { "type": "keyword" },
            "transactions": {
                "type": "nested", 
                "properties": {
                    "amount": { "type": …
Run Code Online (Sandbox Code Playgroud)

nested collect elasticsearch-mapping elasticsearch-hadoop pyspark-sql

5
推荐指数
1
解决办法
1740
查看次数