标签: clone

Java二叉树克隆问题

我有一个具有以下规范的 Java 二叉树,我需要克隆它。

public class Item {

    private final String value;
    public final Item left;
    public final Item right;

    ...

}
Run Code Online (Sandbox Code Playgroud)

看似非常简单的任务让我感到困惑,因为克隆的树必须与原始树对象共享相同的单元格,而不是被复制。

但是,如果要将某个项目添加到原始树或克隆树,则它不得传播到另一棵树。IE。如果要将新项目添加到原始树中,则它不得出现在克隆树中,反之亦然。

此外,这需要在没有递归和任何循环构造的情况下完成。

所以我想知道是否有人能想到这样做,因为我不知道从哪里开始?

java binary-tree clone

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

将 $j 替换为 JQuery

我有一个有趣的问题。clone()我在 google chrome 扩展中使用 jQuery 函数。该函数正在克隆表行。问题是 TR 有一些内联 javascript/jquery 使用$j()而不是jQuery().

每次我尝试输出克隆行时,都会收到错误“$j 未定义”。

所以我想到了这个问题的两种可能的解决方案:

  1. 让我的 chrome 扩展可以使用$j()(尝试使用 jquery 没有冲突)而不是jQuery()

或者

  1. 在输出之前在克隆项目中进行搜索,替换$jjQuery.

我的问题是我无法完成任何一个......

 var rows = jQuery("#field-mapping-template").clone(true);
 rows.insertBefore("#field-mapping-template");
Run Code Online (Sandbox Code Playgroud)

javascript jquery clone

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

如何克隆 RectangleF

如何RectangleF在 C# 中轻松克隆(复制)a?

显然有一些不优雅的方法可以做到这一点,例如new RectangleF(r.Location, r.size),但是肯定有一个.Copyor.Clone方法隐藏在某处吗?但这些都不适合我编译,也似乎没有复制构造函数。我怀疑有一些简单的 C# 标准方法可以复制任何结构,但我还没有找到。

如果重要的话,我的真正目标是创建一个返回矩形偏移版本的方法(因为,令人惊讶的是,RectangleF没有这样的内置 - 它只有一个变异器方法)。我对此最好的尝试是:

public static RectangleF Offset(RectangleF r, PointF offset) {
    PointF oldLoc = r.Location;
    return new RectangleF(new PointF(oldLoc.X+offset.X, oldLoc.Y+offset.Y), r.Size);
}
Run Code Online (Sandbox Code Playgroud)

(令人震惊的是缺少加法运算符,这使得它变得更加丑陋PointF,但这是另一个问题。)有没有更简单的方法来做到这一点?

c# geometry system.drawing clone copy

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

即使具有不可序列化的属性,如何克隆 Windows 窗体控件?

如何克隆或序列化 Windows 窗体控件?
当我尝试使用此代码“CloneControl(Control ct1)”克隆 Windows 窗体控件时,它允许我复制具有某些可序列化属性的控件,而不是所有属性。

public Form1()
{
    InitializeComponent();
        Columns = new DataGridViewTextBoxColumn[2];
        for (int i = 0; i < 2; i++)
        {
            Columns[i] = new System.Windows.Forms.DataGridViewTextBoxColumn();
            // 
            // Columns[i]
            // 
            Columns[i].HeaderText = "j" + (i + 1);
            Columns[i].Name = "Column" + (i + 1);
            Columns[i].Width = 50;
        }
        dataGridView1 = new System.Windows.Forms.DataGridView();
        dataGridView1.Name = "dataGridView1";
        dataGridView1.Location = new System.Drawing.Point(100, 100);
        dataGridView1.RowHeadersWidth = 50;
        dataGridView1.RowTemplate.Height = 25;
        dataGridView1.Size = new System.Drawing.Size(55 + 50 * 2, 25 + dataGridView1.RowTemplate.Height …
Run Code Online (Sandbox Code Playgroud)

c# serialization clone deep-copy winforms

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

Git 将远程存储库克隆到另一个远程存储库

使用标准方式将 git 存储库从远程服务器克隆到本地计算机相当容易,但我需要将远程存储库克隆到另一个远程存储库,这可能吗?

PS我提出这个问题是因为我无法在GitHub上分叉我自己的项目来创建子项目,我只能分叉其他用户的项目。这是关于克隆以从父项目创建整个子项目,而不仅仅是子模块。

git clone github git-clone

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

Java - 如何实现基类和派生类的方法克隆

我有三门课:

Base extends Object

Derived1 extends Base

Derived2 extends Derived1
Run Code Online (Sandbox Code Playgroud)

每个类都有自己的字段,应该克隆这些字段。我很难理解实现clone和避免重复代码的最佳方法。我有以下架构,但对我来说看起来最糟糕

Derived2.clone():它调用super.clone()并接收 的对象Derived1。然后它调用 newDerived2(objOfDerived1)super(objOfDerived1)复制其所有字段,然后复制Derived2.clone()所有字段。Derived2

对此你会怎么说呢?也许有任何文章描述这个问题?

UPD:这个想法可以在这里展示

class Base implements Cloneable {
    private String dataOfBase;

    public Base() {

    }

    public Base(Base base) {
        this.dataOfBase = base.dataOfBase;
    }

    @Override
    public Object clone() {
        Base base = new Base();
        base.dataOfBase = dataOfBase;
        return base;
    }
}

class Derived extends Base {
    private String dataOfDerived;

    public Derived(Base base) {
        super(base); …
Run Code Online (Sandbox Code Playgroud)

java clone

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

具有原始类型的 Java 克隆类

我正在尝试创建一个Object(称为State)的深层副本,以对其中的一个实例进行修改,然后使用State基于新的修改旧实例的代码进行后续操作State

这是State

public class State implements Cloneable {

    // 0: empty
    // 1: white
    // 2: black
    private int[][] board;

    private int player;

    public State(int[][] board, int player) {
        this.board = board;
        this.player = player;
    }

    public int[][] getBoard() {
        return board;
    }

    public int getPlayer() {
        return player;
    }

    public void setBoard(int[][] board) {
        this.board = board;
    }

    public void setPlayer(int player) {
        this.player = player;
    }

    @Override
    protected …
Run Code Online (Sandbox Code Playgroud)

java clone

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

如何编写一个通用迭代器来保持状态并返回值而不使用克隆?

我尝试编写一个通用迭代器,但我不知道如何在不使用clone. 有什么方法可以在函数中创建变量next并返回引用吗?如果我替换Tu32,那么我可以只返回Some(self.count),但是使用泛型,这是不可能的。

use num_traits::Num;
use std::clone::Clone;

struct Counter<T>
where
    T: Num + Clone,
{
    count: T,
}

impl<T> Counter<T>
where
    T: Num + Clone,
{
    fn new() -> Counter<T> {
        Counter { count: T::zero() }
    }
}

impl<T> Iterator for Counter<T>
where
    T: Num + Clone,
{
    type Item = T;

    fn next(&mut self) -> Option<Self::Item> {
        self.count = self.count.clone() + T::one();
        Some(self.count.clone())
    }
}

fn main() {
    let mut …
Run Code Online (Sandbox Code Playgroud)

generics iterator clone rust

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

Three.js:克隆网格和材质 » 切换克隆的不透明度

使用该命令Mesh.clone();您可以克隆网格。搜索显示几何形状和材料被保留。但是,我想以不同的方式控制两个网格的不透明度。因此我认为我也必须克隆这些材料。

有没有办法复制包含材质的网格,以便我可以与原始网格分开控制新网格的不透明度?

javascript clone mesh three.js

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

Git:克隆包含自身的存储库(将自身添加为子模块)

我正在尝试克隆此存储库: https://github.com/Electronicarts/EASTL 但几乎所有子模块都将此存储库添加为子模块!(参见: https: //github.com/electricarts/EASTL/tree/master/test/packages

这会创建无限递归,并永远保持克隆。

这个问题有解决办法吗?!

windows git clone github git-submodules

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