Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java中undo和redo的实现

Java中undo和redo的实现
EN

Stack Overflow用户
提问于 2011-09-10 20:36:59
回答 4查看 3.5K关注 0票数 3

我想问一个关于Java中List的问题。

在列表中实现删除、添加和搜索元素是很容易的。但是如何在Java中实现列表的撤销和重做呢?

有人能在这方面帮我吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-10 20:40:31

您可能希望为此实现一个Command Design Pattern。可以在http://www.algosome.com/articles/implementing-undo-redo-java.html中找到List的一个很好的简化示例

票数 4
EN

Stack Overflow用户

发布于 2011-09-10 20:51:40

我猜你想要撤消和重做列表上的删除和添加等操作。

只需使用另一个具有撤消和重做索引功能的列表,例如ArrayList:

  • 每次向原始列表添加(元素)或删除(元素)确实更改了该列表时,您将该元素放在撤消列表的末尾。
  • 然后当你想撤销操作时,你只需在撤销列表中移动:如果撤销列表中的元素不在原始列表中,添加它,如果它存在于原始列表中,删除它。
  • 如果你也想使用你的撤销列表来重做,那么不要从撤销列表中删除你刚刚“撤销”的元素,而是通过索引在撤销列表中移动。然后您可以在撤消列表的两个方向上移动,从而撤消和重做您的操作。
票数 1
EN

Stack Overflow用户

发布于 2011-09-10 20:47:05

你的意思是像从列表中删除项目并撤消它?您可以轻松地为列表创建新类,并定义如下属性:上次执行的操作+存储受影响项的原始值(可能还有索引)。重做也是如此(至少重做和撤消中的一个步骤是如此)。如果您不关心项目的顺序(或者您可以轻松地对它们进行排序),那么可以定义上次执行的操作列表和原始值列表。例如: lastAction="delete";lastElement = 1;//表示从列表中删除了1

这是第一个也是虚拟的想法如何做到这一点。也许有一些问题需要考虑……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7374545

复制
相关文章
Django获取URL中的数据
我们将第一种形式称为“URL路径参数”;第二种形式称为“URL关键字形式”。下面讲述如何在Django中获取这两种形式的数据。
zy010101
2021/11/02
5.7K0
js获取url中的参数
js获取url中的参数 <script language="javascript"> function getRequestPars() { var url = location.search;
码客说
2019/10/22
15.5K0
js获取url中的参数
js获取url中的参数 function UrlSearch() { var name, value; var str = kk; //取得整个地址栏 var num = st
河岸飞流
2019/08/09
15.6K0
js获取URL中的参数
一般网页开发中会使用url进行传参,有的采用java的方式或其他的方式,下面我来介绍一下如何通过js来获取url中的参数。请看代码:
OECOM
2020/07/01
13.9K0
Django小技巧07: 在模板中获取当前URL
确保项目配置里的context_processors包含django.template.context_processors.request.
用户1416054
2018/11/29
3.8K0
Django小技巧07: 在模板中获取当前URL
[javascript] js获取url中的get参数
调用数组的map函数 , map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
唯一Chat
2021/05/17
10.8K0
获取URL地址中的GET参数
/*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串
似水的流年
2018/01/18
7.1K0
获取URL地址中的GET参数
/*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串
似水的流年
2018/01/14
6.7K0
封装获取URL中params的值
utils const str = "http:www.baidu.com?name=swt&age=80&heigth=200" function get(key) { //获取?位置的索引
peng_tianyu
2022/12/15
3.1K0
JS 获取URL中的参数值
本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: Sep 11, 2019 at 11:40 am
Alone88
2019/10/22
17.9K0
在ASP.NET MVC 中获取当前URL、controller、action
一、URL的获取很简单,ASP.NET通用: 【1】获取 完整url (协议名+域名+虚拟目录名+文件名+参数)  string url=Request.Url.ToString();  【2】获取 虚拟目录名+页面名+参数:  string url=Request.RawUrl; (或 string url=Request.Url.PathAndQuery;) 【3】获取 虚拟目录名+页面名: string url=HttpContext.Current.Request.Url.AbsoluteP
欢醉
2018/01/22
2.5K0
js获取url地址中的参数
<script type="text/javascript"> function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return r[2]; return null; } </script
磊哥
2018/05/08
18.9K0
获取URL地址中的GET参数
/*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串
似水的流年
2019/12/11
6.4K0
python-获取URL中的json数据
数据源为某系统提供的URL,打开是json文件,python代码获取如下: URL替换成自己的即可。 import urllib.request def get_record(url): resp = urllib.request.urlopen(url) ele_json = json.loads(resp.read()) return ele_json if __name__ == '__main__': print(get_record('http://abc.co/
py3study
2020/01/16
5.6K0
pageadmin CMS教程:模板中获取自定义文件的url节点值
我们通过*Route.config配置自定义文件时,模板中可能会用到url中的一些节点,下面这段配置一个自定义搜索页面
Almost Lover
2019/04/04
1.4K0
js获取url链接中的域名部分
因为一个正确的url必定是由http://或者是https://、domain、路径/参数组成,所以可以用split以/进行分割成数组,取第3部分就是域名了。
全栈程序员站长
2022/07/08
9.3K0
node.js 获取url中的各个参数
如果url为:http://127.0.0.1:8020/?param=10&id=code 1,首先引入模块: var http = require('http'); var url = requ
Rattenking
2021/01/29
8K0
PHP 获取指定 URL 页面中的所有链接
以下代码可以获取到指定 URL 页面中的所有链接,即所有 a 标签的 href 属性:
Z4
2020/04/22
7.7K0
WordPress自定义url 中的“author” 别名
默认的话,WordPress 链接到文章“作者”的别名(slug name)是如 devework.com/author/name 那样的,通过下面的代码,可以修改为devework.com /profile/name 。这种情况适合开发非博客用途的站点,比如说商品展示网站,具体自行发散使用~ add_action('init', 'cng_author_base'); function cng_author_base() { global $wp_rewrite; $author_slug = 'prof
Jeff
2018/01/19
1.5K0
dns url转发_获取url参数的方法
DNSPod是一款免费智能DNS产品,可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。
全栈程序员站长
2022/11/02
6.5K0

相似问题

递归搜索和替换cmd中的Perl (Windows)

30

Perl:搜索和替换

12

Perl搜索和替换

11

Perl编辑XML文件:搜索和替换

20

Perl中的多文件和递归搜索

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文