昨天和一家的项目经理聊的是Map与List,当然不可能只聊这些,只把这些现在总结一下.
1.ArrayList与LinkedList的区别:
ArrayList与LinkedList都实现了List interface.不论使用何者,都会产生相同结果.ArrayList但的底层以array完成.LinkedList则是以一般的双向链表完成,其内部每个对象除了数据本身外,还有两个interface,分别指向前一个元素和后一个元素.因此如果你可能在List中进行许多安插或移除动作,LinkedList比较适当.此外,LinkedList还具备有Abstract SequentialList建构出来的额外功能.
2.HashMap:键值对,一一对应
遍历HashMap中的元素,我自己想了一下,不知道是不是这样的:
HashMap hash=new HashMap();
//hash.put(key,value);
for(int i=0;i<10;i++){
hash.put("key"+1,"value"+1);
}
Set set=hash.keySet();
Iterator iterator=set.iterator();
while(iterator.hashnext()){
System.out.println(hash.get(iterator.next()));
}
3.HashMap中的key是唯一的(不能重复的),但Value可以有相同的.这个在Thinking in java中讲的很详细.
本来问题很简单,我都知道的,可惜昨天由于面试前等他们项目经理等了近一个小时,心态有点不是很好,回答的不是很好.
1.ArrayList与LinkedList的区别:
ArrayList与LinkedList都实现了List interface.不论使用何者,都会产生相同结果.ArrayList但的底层以array完成.LinkedList则是以一般的双向链表完成,其内部每个对象除了数据本身外,还有两个interface,分别指向前一个元素和后一个元素.因此如果你可能在List中进行许多安插或移除动作,LinkedList比较适当.此外,LinkedList还具备有Abstract SequentialList建构出来的额外功能.
2.HashMap:键值对,一一对应
遍历HashMap中的元素,我自己想了一下,不知道是不是这样的:
HashMap hash=new HashMap();
//hash.put(key,value);
for(int i=0;i<10;i++){
hash.put("key"+1,"value"+1);
}
Set set=hash.keySet();
Iterator iterator=set.iterator();
while(iterator.hashnext()){
System.out.println(hash.get(iterator.next()));
}
3.HashMap中的key是唯一的(不能重复的),但Value可以有相同的.这个在Thinking in java中讲的很详细.
本来问题很简单,我都知道的,可惜昨天由于面试前等他们项目经理等了近一个小时,心态有点不是很好,回答的不是很好.