声明: 以下代码大致来源于Groovy入门经典,是在学习的过程中进行的相关测试及记录的内容。
import org.junit.Test
import groovy.test.GroovyTestCase;
class Map628 extends GroovyTestCase {
@Test
void test() {
//初始化map
def map = [:]
map.put("class", "what?")
println map['class'] //what?
println map?.'class' //what?
println map?.get('class') //what?
}
@Test
void testExample() {
def careful = [1 : "Jack", "1" : "Tom", a : "a", "b" : "b"]
println careful[1] //Jack
println careful["1"] //Tom
println careful[2] //null
println careful.a //a
println careful["b"] //b
}
@Test
void testMethod() {
def careful = [1 : "Jack", "1" : "Tom", a : "a", "b" : "b"]
println careful.containsKey(1)
println careful.containsKey("1")
println careful.keySet() // [1, 1, a, b]
println careful.values() // [Jack, Tom, a, b]
println careful.size() // 4
println careful.get("f", "found") // found,当前map中存在key的value值进行返回,反之返回第二个参数的值,并将设置为访问key的值
}
@Test
void testErgodic() {
//遍历
def careful = [1 : "Jack", "1" : "Tom", a : "a", "b" : "b"]
println "each: "
careful.each {
current ->
println "key : " + current.key + ", value : " + current.value
}
println "\neachWithIndex: "
careful.eachWithIndex{
entry, int i ->
println i + " key : " + entry.key + ", value : " + entry.value
}
println ""
for(Object current : careful.keySet()) {
println "key : " + current + ", value : " + careful.get(current)
}
println ""
Iterator<Map.Entry<Object, String>> it = careful.entrySet().iterator()
while (it.hasNext()) {
Map.Entry<Integer, String> entry = it.next()
println "key : " + entry.getKey() + ", value : " + entry.getValue()
}
println ""
for (Map.Entry<Object, String> entry : careful.entrySet()) {
println "key : " + entry.getKey() + ", value : " + entry.getValue()
}
}
}