我有List[(String,String)],我需要按第二个值对它们进行排序并返回一个地图
我做了以下事情:
val newMap = list.sortBy(_._2).foldLeft(Map.empty[String, String]) {
(map, key) ? map + (key._1 ? key._2)
}
Run Code Online (Sandbox Code Playgroud)
列表是一个 List[(String,String)]
但是,返回的地图没有排序!!
简单地说,我有两个列表,我需要提取添加到其中一个的新元素.我有以下内容
val x = List(1,2,3)
val y = List(1,2,4)
val existing :List[Int]= x.map(xInstance => {
if (!y.exists(yInstance =>
yInstance == xInstance))
xInstance
})
Result :existing: List[AnyVal] = List((), (), 3)
Run Code Online (Sandbox Code Playgroud)
我需要以最低成本删除除数字之外的所有其他元素.
我有JSON喜欢:
{"_ id":"1","_ class":"com.model.Test","itemList":[{"itemID":"1","itemName":"Foo","resources":[{" resourceID":"1","resourceName":"Foo Test1",},{"resourceID":"2","resourceName":"Foo Test2",}]}]}
我需要能够更新资源列表.我做了以下事情:
BasicDBObject updateQuery = new BasicDBObject();
updateQuery.put("id", "1");
BasicDBObject updateCommand = new BasicDBObject();
List<Resource> resources = populateResources();//Fetch a new list of Resources
updateCommand.put("$push", new BasicDBObject("resources", resources));
MongoOperations mongoOperations = mongoConfiguration.getMongoTemplate();
DBCollection db = mongoOperations.getCollection("myCollection");
db.save(updateCommand);
Run Code Online (Sandbox Code Playgroud)
我得到了以下错误:
java.lang.IllegalArgumentException:存储在db中的字段不能以'$'开头(Bad Key:'$ push')
我用的时候:
db.update( updateQuery, updateCommand, true, true );
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
java.lang.IllegalArgumentException:无法序列化类com.model.Test
我试过了:db.updateMulti(updateQuery,updateCommand); 我没有得到任何例外,也没有任何更新发生在文件中.
那么我在这里错过了什么!!
我正在使用JQuery Full Calendar和Spring MVC.
你好,我已经像一个演示是.
目标:我需要当用户点击已经插入的事件时,会出现一个对话框,让他/她能够删除该事件或取消.
问题:现在,只要用户在任何一天点击,就会出现一个对话框,允许用户输入该事件的标题,然后用户点击"确定"保存该事件.
Freemarker:Freemarker:
<script type="text/javascript">
var resourceVacation;
function censor(censor) {
return (function() {
var i = 0;
return function(key, value) {
if (i !== 0 && typeof(censor) === 'object' && typeof(value) == 'object' && censor == value)
return '[Circular]';
++i; // so we know we aren't using the original object anymore
return value;
}
})(censor);
}
function doAjax() {
$.each(resourceVacation, function(index) {
var tmpDate = resourceVacation[index].start;
tmpDate.setHours(tmpDate.getHours() - tmpDate.getTimezoneOffset() / 60);
resourceVacation[index].start=tmpDate;
}); …Run Code Online (Sandbox Code Playgroud) 我有一个Scala方法,它有两个参数:
def test(x:Long,y:Int){}
Run Code Online (Sandbox Code Playgroud)
在某些情况下,我需要传递null而不是long ...类似的东西:
test(null,x)
Run Code Online (Sandbox Code Playgroud)
结果:
scala> test(null,2):7:错误:类型不匹配; found:Null(null)required:长测试(null,2)
为什么我需要传递null?实际上,由于某种原因,我无法传递任何默认值.因此,我需要这样的null.
*注意:*我知道解决方案是选择它.但是,假设我无法控制此方法签名,我可以做任何解决方法吗?
有任何想法吗!
谢谢.
我有一个名为resource的MongoDB集合.它有以下文件:
{ "_id" : "Abb.e", "_class" : "Resource", "resourceEmail" : "test1@test.com" }
{ "_id" : "Dasd.tt", "_class" : "Resource","resourceEmail" : "test2@test.com" }
{ "_id" : "Bbb.rr", "_class" : "Resource", "resourceEmail" : "test3@test.com" }
Run Code Online (Sandbox Code Playgroud)
在Java代码中,我将它们列出如下:
MongoOperations mongoOperations = mongoConfiguration.getMongoTemplate();
List<Resource> resourceList = mongoOperations.findAll(Resource.class);
return resourceList;
Run Code Online (Sandbox Code Playgroud)
我怎么能按ID排序这些文件!
我有2个.proto文件:
第一档:
package com.test.model;
message ProtoModel {
required CustomObj custom=1;
}
Run Code Online (Sandbox Code Playgroud)
第二档:
package com.test.model;
message CustomObj {
required string smth=1;
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是"CustomObj"被称为"未解决的参考".因此,我试图将第二个文件导入第一个文件:
import "com/test/model/firstFile.proto"
package com.test.model;
message ProtoModel {
required CustomObj custom=1;
}
Run Code Online (Sandbox Code Playgroud)
我仍然得到同样的问题!
可能重复:
为什么选项[T]?
我是Scala的新手,我无法真正感受到java和OptionScala上的null之间的区别.我知道没有一个是对象,如果我在Scala上写这样的smth,它会安全的:
val map = Map("koko" -> "is a cat")
val string:Option[String] =map.get("other")
println(string.map(a=>println(a.toString)) )
Run Code Online (Sandbox Code Playgroud)
我得到None的结果不是抛出异常.这真有趣 .
但是,如果我需要返回值不被包装Some.我将使用.get来返回值.
在我们的例子中,它将抛出异常:
map.get("other").get.map(a=>println(a.toString))
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过使用"匹配"来处理这个问题.我正在这里,我需要了解Scala上的选项对于java上的null有什么兴趣!
我仍然无法得到的是我如何使用Option的优点但是如果我的变量中存在值,则返回值不 Some(value)
def testOption(): String = {
val map = Map("koko" -> "is a cat")
val string: Option[String] = map.get("koko")
string
}
Run Code Online (Sandbox Code Playgroud)
我的意思是有任何方法使这段代码工作,而不是更新返回值Option[String]!想象一下,我必须返回一个String才能被设置为我的bean变量,而不是String类型Option[String]
我怎么能没有任何形式的作品match!我想如果有它可以使它有效,那将使我更好地理解它的力量Option.
我想知道我是否可以调整以下Scala代码:
def removeDuplicates(listOfTuple: List[(Class1,Class2)]): List[(Class1,Class2)] = {
var listNoDuplicates: List[(Class1, Class2)] = Nil
for (outerIndex <- 0 until listOfTuple.size) {
if (outerIndex != listOfTuple.size - 1)
for (innerIndex <- outerIndex + 1 until listOfTuple.size) {
if (listOfTuple(i)._1.flag.equals(listOfTuple(j)._1.flag))
listNoDuplicates = listOfTuple(i) :: listNoDuplicates
}
}
listNoDuplicates
}
Run Code Online (Sandbox Code Playgroud) 假设我有2个列表:
val list1:List[CustomObject] = List(obj1, obj2, obj3)
val list2:List[CustomObject] = List(obj4, obj5, obj6)
Run Code Online (Sandbox Code Playgroud)
我想知道在Scala中是否存在一种采用这两个列表的方法,并且比较obj.name第二个列表中是否存在第一个列表.
这可以使用2个内部循环和一个标志来完成.但是,我想知道Scala中是否可以做到这一点.
我需要将javascript函数的值添加到freemarker列表中
示例:我从我的控制器传递给视图一个对象schoolObject.schoolObject有一个名为classNames的List属性
是否适用于从javascript中为此列表添加值!
以下不起作用:
function addclass(className){
var name=document.getElementById(smth).value.trim();
document.getElementById(classNames).value=name
alert(document.getElementById(classNames).value);
}
Run Code Online (Sandbox Code Playgroud) 我想问一下,在特定年份创建日期列表以保存今年日期的最合适方式是什么.
我写了以下内容并且工作正常.但是,我不确定这是最便捷的方式.
Calendar cal = new GregorianCalendar(2012, Calendar.JANUARY, 1);
Date startDate = cal.getTime();
cal = new GregorianCalendar(2013, Calendar.JANUARY, 1);
Date endDate = cal.getTime();
List<Date> dates = new ArrayList<Date>();
Calendar calendar = new GregorianCalendar();
calendar.setTime(startDate);
while (calendar.getTime().before(endDate)) {
Date date= calendar.getTime();
dates.add(date);
calendar.add(Calendar.DATE, 1);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Bootstrap模式.我已经导入了bootstrap-modal.js
我需要使用按钮属性而不是JS来触发模态.
这是我的代码,它不允许模态工作!
<!-- Button to trigger modal -->
<a href="#myModal" role="button" class="btn" data-toggle="modal">Launch demo modal</a>
<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) scala ×6
java ×3
freemarker ×2
javascript ×2
mongodb ×2
fullcalendar ×1
jquery ×1
mongodb-java ×1
scala-2.8 ×1
spring ×1
spring-mvc ×1