Redian新闻
>
asking for an offer choice for a friend (UIC VS UNL)
avatar
asking for an offer choice for a friend (UIC VS UNL)# ChemEng - 化学工程
N*m
1
初学groovy,遇到一个小问题。想把map每个key+1怎么写?
我如下写运行出错:
def f = [1:'ken',2:'sam',3:'bob'].collect
{entry-> entry.setKey(entry.getKey()+1);return entry}
3x!
avatar
w*e
2
I am not in the chemEng area, so I will really appreciate if someone could
give me some advice about the two school choices.
Thanks very much.
1. UIC的化工排在美国60左右。UNL我没查到相关排名,但UNL化工每年的研究经费在美
国工程院中排20。
2. UNL在Nebraska州的林肯市,经济以农业为主,城市很安全。UIC在芝加哥的心脏地
带,离市中心密歇根大道只有几百米,但你也知道,每个大城市也有它的安全隐患。
3. 导师的性格这个东西我觉得真的只有去了才知道,UNL这个导师我陶瓷陶了很久,基
本上是他不忙的时候就会回复我的问题,感觉人不错,年龄大概在50左右。UIC的导师
由于来过几次我现在实验室,听师兄说人不错,年龄也大概在50左右。
4. UNL给我的奖学金为一年19,200USD,学费全免。UIC给我一年21,400USD,学费也全
面。
我现在心理面很纠结。一方面我觉得UNL导师的项目大,搞Biomedical engine
avatar
o*1
3
没有setKey这个东西。
只能setValue

【在 N***m 的大作中提到】
: 初学groovy,遇到一个小问题。想把map每个key+1怎么写?
: 我如下写运行出错:
: def f = [1:'ken',2:'sam',3:'bob'].collect
: {entry-> entry.setKey(entry.getKey()+1);return entry}
: 3x!
:

avatar
T*J
4
UIC的方向工作好找一些吧。
我是原来传统化工转到biomedical engineering方向的。biomed的工作机会少
一些,集中在医疗器械设计和biomech方向。不过将来想走学术方向的话,
biomedical engineering的机会可能多些

【在 w**********e 的大作中提到】
: I am not in the chemEng area, so I will really appreciate if someone could
: give me some advice about the two school choices.
: Thanks very much.
: 1. UIC的化工排在美国60左右。UNL我没查到相关排名,但UNL化工每年的研究经费在美
: 国工程院中排20。
: 2. UNL在Nebraska州的林肯市,经济以农业为主,城市很安全。UIC在芝加哥的心脏地
: 带,离市中心密歇根大道只有几百米,但你也知道,每个大城市也有它的安全隐患。
: 3. 导师的性格这个东西我觉得真的只有去了才知道,UNL这个导师我陶瓷陶了很久,基
: 本上是他不忙的时候就会回复我的问题,感觉人不错,年龄大概在50左右。UIC的导师
: 由于来过几次我现在实验室,听师兄说人不错,年龄也大概在50左右。

avatar
o*1
6
我也是刚开始学 Groovy/Grails.
[1:'ken',2:'sam',3:'bob'] 这个Map的类型是 LinkedHashMap,
所以每个entry是 LinkedHashMap.Entry 类型,而不是 groovy的 MapEntry

【在 N***m 的大作中提到】
: 我不太明白:)
: http://groovy.codehaus.org/gapi/groovy/util/MapEntry.html
: 这个API里面的setkey是做什么用的?

avatar
N*m
7
你的意思是key不能变?

【在 o**1 的大作中提到】
: 我也是刚开始学 Groovy/Grails.
: [1:'ken',2:'sam',3:'bob'] 这个Map的类型是 LinkedHashMap,
: 所以每个entry是 LinkedHashMap.Entry 类型,而不是 groovy的 MapEntry

avatar
o*1
8
是,我觉得Key不能变。
我能想出来的办法是产生一个新 map
Map n = [:]
[1:'ken',2:'sam',3:'bob'].each{
n.put(it.key+1, it.value)
}
print n

【在 N***m 的大作中提到】
: 你的意思是key不能变?
avatar
N*m
9
恩,这样可行。LinkedHashMap key不能变是因为什么?
是因为不符合原来的插入顺序嘛?

【在 o**1 的大作中提到】
: 是,我觉得Key不能变。
: 我能想出来的办法是产生一个新 map
: Map n = [:]
: [1:'ken',2:'sam',3:'bob'].each{
: n.put(it.key+1, it.value)
: }
: print n

avatar
o*1
10
所有 Map 的Key都是Read Only.
这不是groovy的事,是JDK就这么design的。
如果key是 mutable object, reference不能变,但是可以指向别的object.
但是这是强烈不推荐的,会造成很隐藏的bug.

【在 N***m 的大作中提到】
: 恩,这样可行。LinkedHashMap key不能变是因为什么?
: 是因为不符合原来的插入顺序嘛?

avatar
N*m
11

3x a lot!

【在 o**1 的大作中提到】
: 所有 Map 的Key都是Read Only.
: 这不是groovy的事,是JDK就这么design的。
: 如果key是 mutable object, reference不能变,但是可以指向别的object.
: 但是这是强烈不推荐的,会造成很隐藏的bug.

avatar
r*l
12
这个数据结构可能更适合你:
f = [[1:'ken'],[2:'sam'],[3:'bob']]

【在 N***m 的大作中提到】
: 初学groovy,遇到一个小问题。想把map每个key+1怎么写?
: 我如下写运行出错:
: def f = [1:'ken',2:'sam',3:'bob'].collect
: {entry-> entry.setKey(entry.getKey()+1);return entry}
: 3x!
:

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。