集合只能装对象类型的引用,长度可变。数组可装基本类型和对象类型,长度不可变。
JCF(JDK本身提供的):Java Collection Framework
集合(都是接口):
①:装一个一个的
1.List:允许出现重复的(内容相等),有序的。
2:set:不允许出现重复,无序的。
②:装一对一对的
Map:key-value形式
List实现的接口类:
①:ArrarList
②:LinkedList
③:Vector
Set实现的接口类:
①:Hashset
②:Treeset
Map实现的接口类:
①:HashMap
②:TreeMap
③:HashTable
得到集合中有多少个对象,用Size()方法
删除集合中某个对象,用remove()方法,List可以通过下标删除,也可以通过对象名删除。
Set中用remove()方法只能通过对象名称删除。
获取集合中元素的个数和每个元素的内容:
List:用get获得,迭代器获得。
eg:
public class Ch10_1 {
public static void main(String[] args){
ArrayList aa = new ArrayList();
aa.add("张三");
aa.add("nihao");
aa.add("10");
aa.remove("张三");
System.out.print(aa.size());//获取个数
int tt = aa.size();
for(int i = 0;i<tt;i++){
// a = aa.get(i);
System.out.print(aa.get(i));//获取每个元素上面的内容
}
}
迭代器获取:
eg:
public class Ch10_1 {
public static void main(String[] args){
ArrayList aa = new ArrayList();
aa.add("张三");
aa.add("nihao");
aa.add("10");
aa.remove("张三");
System.out.print(aa.size());//获取个数
Iterator it = new Iterator();
while(it.hasNext()){
Integer ig = (Iterator)it.next()//获取每个next()并强制转换
System.out.print(aa.intvalue());
}
}
}
(这个程序还有点问题,待解决,大概就这样)
Set则只要迭代器一种方法,在项目中更有用。
Map:
eg:
public class Ch10_1 {
public static void main(String[] args){
HaspMap hm = new HaspMap();
hm.put("A","V");
hm.put("B","E");
hm.put("C","D"); //添加内容
set keys = new set();//获取所以的key
for(Iterator it=keys.iterator();it.hasNext();){
Object key = it.next();
Object value = hm.get(key);
System.out.print("key="+key+"value="+vlaue);
}
}
}
如果我们知道key就可以直接通过 集合名+get("key")得到value。
杨老说集合是个重点也是个难点,现在有的地方还是不是很清晰,就迭代器不是很清楚,回来按着笔记练习的时候总要报错,看样子上课听懂了并不代表自己就能做得出来,还学要实际操作啊!
最近觉得有点困难了,基础不牢固,运用起来就比较模糊,看样子还得多补一下基础知识,要不然到了后面就真的跟不上了。
JCF(JDK本身提供的):Java Collection Framework
集合(都是接口):
①:装一个一个的
1.List:允许出现重复的(内容相等),有序的。
2:set:不允许出现重复,无序的。
②:装一对一对的
Map:key-value形式
List实现的接口类:
①:ArrarList
②:LinkedList
③:Vector
Set实现的接口类:
①:Hashset
②:Treeset
Map实现的接口类:
①:HashMap
②:TreeMap
③:HashTable
得到集合中有多少个对象,用Size()方法
删除集合中某个对象,用remove()方法,List可以通过下标删除,也可以通过对象名删除。
Set中用remove()方法只能通过对象名称删除。
获取集合中元素的个数和每个元素的内容:
List:用get获得,迭代器获得。
eg:
public class Ch10_1 {
public static void main(String[] args){
ArrayList aa = new ArrayList();
aa.add("张三");
aa.add("nihao");
aa.add("10");
aa.remove("张三");
System.out.print(aa.size());//获取个数
int tt = aa.size();
for(int i = 0;i<tt;i++){
// a = aa.get(i);
System.out.print(aa.get(i));//获取每个元素上面的内容
}
}
迭代器获取:
eg:
public class Ch10_1 {
public static void main(String[] args){
ArrayList aa = new ArrayList();
aa.add("张三");
aa.add("nihao");
aa.add("10");
aa.remove("张三");
System.out.print(aa.size());//获取个数
Iterator it = new Iterator();
while(it.hasNext()){
Integer ig = (Iterator)it.next()//获取每个next()并强制转换
System.out.print(aa.intvalue());
}
}
}
(这个程序还有点问题,待解决,大概就这样)
Set则只要迭代器一种方法,在项目中更有用。
Map:
eg:
public class Ch10_1 {
public static void main(String[] args){
HaspMap hm = new HaspMap();
hm.put("A","V");
hm.put("B","E");
hm.put("C","D"); //添加内容
set keys = new set();//获取所以的key
for(Iterator it=keys.iterator();it.hasNext();){
Object key = it.next();
Object value = hm.get(key);
System.out.print("key="+key+"value="+vlaue);
}
}
}
如果我们知道key就可以直接通过 集合名+get("key")得到value。
杨老说集合是个重点也是个难点,现在有的地方还是不是很清晰,就迭代器不是很清楚,回来按着笔记练习的时候总要报错,看样子上课听懂了并不代表自己就能做得出来,还学要实际操作啊!
最近觉得有点困难了,基础不牢固,运用起来就比较模糊,看样子还得多补一下基础知识,要不然到了后面就真的跟不上了。