Tag: 映射

什么要求必须std :: map键类符合是有效的密钥?

我想将给定类的对象映射到另一个对象。 然而,我想用作键的类不是由我写的,而是一个具有几个值的简单struct 。 std :: map命令它的内容,我想知道它是如何做到的,以及是否有任意的类可以用作关键字,或者是否有需要定义的一组需求(运算符和哪些不需要)。 如果是这样,我可以为实现操作符映射用途的类创build一个包装器。 我只需要知道我需要实现的第一个,没有我在线上find的类的引用指定它们。

使用JQueryhover与HTML图像映射

我有一个复杂的背景图片,有很多需要滚动插图突出显示的小区域,以及其他文本显示和相关链接。 最后的图解使用Z-index叠加了几张带有透明度的静态图像,高亮翻转插图需要在中间的“三明治”层之一中显示,以达到所需的效果。 经过一些不成功的块摆弄,我决定这可能是一个古老的图像地图。 我制作了一张带有四个几何形状轮廓的电路图testing图,并用png翻转“填充”了它们。 这个想法是将图像映射与底部背景层关联起来,用css {visibility:hidden}初始化所有的翻转,并使用Jquery的hover方法使它们可见,并在单独的div中显示相关的文本。 单独的文本函数是为什么我不用这个:hover伪类而不是jQueryhover。 因为我正在使用图像映射,所以我将所有翻转png(具有透明背景)的大小设置为整个容器,以便精确放置,因此所有内容都精确排列。 我得到的作品…不是真的! 图像映射正确映射以仅激活几何区域。 但是,每个翻转区域的href只能间歇地工作,而使用jQuery的hover与CSS的可见性是搞砸了。 期望的行为是滚动到该区域将简单的形状。 实际上发生的事情是,形状内部的任何运动都会在可见和隐藏之间快速切换; 当光标在形状内停止时,它可能是可见的,也可能不是。 任何想法赞赏! 样本hover设置(我将最终使用真正的翻转数组,相关的链接和文本): $('#triangle').hover( function() { $('#ID_triangle').css({'visibility' : 'visible'}); }, function() { $('#ID_triangle').css({'visibility' : 'hidden'}); } ) 图片地图: <div id="container"> <img src="images/testMap_w.png" width="800" height="220" alt="TestMap W" usemap="#testMap"> <map name="testMap"> <area shape="polygon" coords="20,20,106,20,106,106,20,106" href="http://www.stackoverflow.com" id="box" /> <area shape="polygon" coords="216,50,339,50,277,156" href="http://www.google.com" id="triangle" /> <area […]

在琐碎的键的情况下,使用map over unordered_map有什么好处吗?

最近在C ++中讨论unordered_map使我意识到,由于查找的效率( 分段O(1)与O(log n) ),我应该使用unordered_map来处理以前使用map大多数情况。 大多数时候我使用一个映射,我使用int或std::strings作为键,因此我没有问题的散列函数的定义。 我想到的越多,就越意识到我找不到在unordered_map上使用简单types的情况下使用std::map任何原因 – 我查看了接口,并没有发现任何会影响我的代码的重大差异。 因此,这个问题是否有任何真正的理由使用简单的types如int和std::string情况下unordered map使用std::map ? 我从严格的编程观点来问 – 我知道这不是完全被认为是标准的,它可能会带来移植的问题。 另外,我希望正确答案之一可能是“对于较小的数据集更有效”,因为开销较小(这是真的吗?) – 因此,我想限制问题的情况下,密钥的数量是非平凡的(> 1 024)。 编辑: 呃,我忘了明显的(谢谢GMan!) – 是的,地图的顺序是当然的 – 我知道,我正在寻找其他原因。

谁应该处理复杂查询,数据映射器或服务层中的条件?

这个问题在解决这个问题上做了很好的工作,但是我很难find关于服务层的确切限制的可靠来源。 对于这个例子,假设我们正在处理书籍,我们想要作者得到书籍。 BookDataMapper可以有一个通用的get()方法来接受条件,比如书籍的唯一标识符,作者姓名等。这个实现相当简单(逻辑上),但是如果我们想要多个条件需要更多的条件复杂的查询? 比方说,我们想要得到某个作者在特定发布者下写的所有书。 我们可以扩展BookDataMapper->get()方法来parsing多个条件,或者我们可以编写一个新的方法,如BookDataMapper->getByAuthorAndPublisher() 。 最好让服务层直接调用这些[更具体的]方法,或者在调用具有多个条件的更通用的BookDataMapper->get()方法之前parsing条件? 在后一种情况下,服务层会做更多的逻辑“繁重工作”,使数据映射器相当简单。 前一个选项会将服务层几乎全部减less到只有中间人,从而在像BookDataMapper->getByAuthorAndPublisher()这样的方法BookDataMapper->getByAuthorAndPublisher()条件逻辑留给数据映射器。 让服务层parsing条件的一个明显的问题是一些域逻辑泄漏出数据映射器。 (这在这里的链接问题中有解释,但是,如果服务层处理条件,则逻辑将不会使其脱离模型层;控制器无论如何都将调用$book_service->getByAuthorAndPublisher() 。

如何直接初始化一个HashMap(以字面的方式)?

有没有像这样初始化一个Java HashMap的方法? Map<String,String> test = new HashMap<String, String>{"test":"test","test":"test"}; 什么是正确的语法? 我还没有发现任何关于这个。 这可能吗? 我正在寻找最短/最紧凑的方法,将一些“最终/静态”值放入一张永不改变的地图中,并在创build地图时提前知道。

vim改变:x函数删除缓冲区而不是保存并退出

我想在vim gui-mode中设置:x来delete buffer因为我总是杀死整个gvim,这很烦人。 我知道我可以专门设置gui问题, if has("gui running")但不知道如何重新映射:x 提前致谢 ps .:也许标签/术语remap是错误的,但我不知道正确的术语,这就是为什么谷歌没有提供任何帮助。

使用额外列映射多对多关联表

我的数据库包含3个表:用户和服务实体具有多对多的关系,并与SERVICE_USER表连接如下: 用户 – SERVICE_USER – 服务 SERVICE_USER表包含额外的BLOCKED列。 执行这种映射的最佳方法是什么? 这些是我的实体类 @Entity @Table(name = "USERS") public class User implements java.io.Serializable { private String userid; private String email; @Id @Column(name = "USERID", unique = true, nullable = false,) public String getUserid() { return this.userid; } …. some get/set methods } @Entity @Table(name = "SERVICES") public class CmsService implements […]

从经度\纬度转换到笛卡尔坐标

我有一些以地球为中心的经度和纬度坐标点( WGS-84 )。 我如何将它们转换为原点在地球中心的笛卡尔坐标(x,y,z)?

在MySQL数据库中存储纬度/经度时使用的理想数据types是什么?

考虑到我将对经纬度对进行计算,哪种数据types最适合用于MySQL数据库?

java.lang.IllegalArgumentException:名为和的servlet都映射到不允许的url-pattern

我试图添加这个servlet package com.classmgt.servlet; @WebServlet("/ControllerServlet") public class ControllerServlet extends HttpServlet {} 到我的Eclipse项目,通过编辑web.xml如下 <servlet> <description>Servlet to print out Hello World!</description> <display-name>ControllerServlet</display-name> <servlet-name>ControllerServlet</servlet-name> <servlet-class>com.classmgt.servlet.ControllerServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ControllerServlet</servlet-name> <url-pattern>/ControllerServlet</url-pattern> </servlet-mapping> 但是,我得到了以下例外: SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ClassManagementSystem]] at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) […]