概述
Java中的集合对象就是一个容器,用来存放Java类的对象。我们知道,一种容器,例如水桶的水很方便倒入和取出。例如柜子里的衣服,有序摆放,更方便查找。Java的集合类也一样,不同的集合类和各自的作用!
在Java.util包中提供了集合类,集合类又叫容器。在之前我们学习过数组,集合类不同于数组,数组长度固定,集合类长度可变,数组用来存放基本类型,集合用来存放对象的引用。
常用的集合类有List集合,Set集合,Map集合。List和Set类继承了Collection接口。各自的接口有不同的实现类实现不同的作用。如图可以清楚的看出来各自的继承和实现关系。
关于List集合
List中的元素是运行重复的,各元素间排列顺序就是对象的插入顺序。类似于数组,我们可以通过索引来访问元素。
List接口
List接口继承了Collection接口,所以包含了Collection中所有方法。List当然也有属于自己的一些常用方法。
List接口的实现类常用的是ArrayList和LinkedList。我们知道,父类的引用可以指向任何子类的对象,所以,我们可以使用List li = new ArrayList();来创建集合类对象。
关于集合的遍历
第一种方法可以通过For循环来遍历元素。
for(int i;i<=li.size();i++){
System.out.println(list.get(i));
}
第二种遍历方法可以使用迭代器便利元素
Iterator it = li.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
List集合类的add(int index,object obj)方法可以将元素添加到集合中,set(int index,object obj)方法可以修改集合中的元素。set方法的索引位置依然是从0开始。
看以下代码:
[CODE=java]
import java.util.*;
public class MyList {
public static void main(String[] args) {
String a = "A";
String b = "B";
String c = "C";
String d = "D";
List li = new LinkedList();
li.add(a);
li.add(b);
li.add(c);
li.add(d);
System.out.println("第一种访问方式");
for (int i = 0; i < li.size(); i++) {
System.out.print(li.get(i) + " ");
}
System.out.println();
System.out.println("第二种访问方式");
Iterator it = li.iterator();
while (it.hasNext()) {
System.out.print(it.next() + " ");
}
System.out.println();
System.out.println("集合中元素在未修改前");
for (int i = 0; i < li.size(); i++) {
System.out.print(li.get(i) + " ");
}
String e = "E";
System.out.println();
System.out.println("将索引位置为2的元素修改为E");
li.set(2, e);
for (int i = 0; i < li.size(); i++) {
System.out.print(li.get(i) + " ");
}
}
}
[/CODE]
代码执行结果:
第一种访问方式
A B C D
第二种访问方式
A B C D
集合中元素在未修改前
A B C D
将索引位置为2的元素修改为E
A B E D
因为List对象中可以包含重复对象,若要获取重复对象第一次出现的位置可以使用indexOf()方法,想获取对象最后一次出现的位置可以使用lastIndexOf()方法。索引位置依然从0开始,如果指定对象在List集合中只有一个,则通过这两个方法获得的索引值是相同的。所以可以得到一种,判断集合类中某元素对象是否有重复元素的方法,就是,indexOf()方法和lastIndexOf()方法得到的值相同。
看以下代码:
[CODE=java]
import java.util.*;
public class MyList {
public static void main(String[] args) {
String a = "A";
String b = "lanyan";
String c = "C";
List li = new LinkedList();
li.add(a);
li.add(b);
li.add(b);
li.add(a);
li.add(b);
li.add(a);
li.add(c);
System.out.println("对象lanyan首次出现的位置是:" + li.indexOf(b));
System.out.println("对象lanyan最后一次出现的位置是:" + li.lastIndexOf(b));
if (li.indexOf(c) == li.lastIndexOf(c)) {
System.out.println("对象c在集合中没有重复");
}
if (li.indexOf(a) != li.lastIndexOf(a)) {
System.out.println("对象a在集合中有重复");
}
}
}
[/CODE]
代码执行结果:
对象lanyan首次出现的位置是:1
对象lanyan最后一次出现的位置是:4
对象c在集合中没有重复
对象a在集合中有重复
最后
以上就是可靠彩虹为你收集整理的java 集合只能保存对象_JAVA使用集合类保存对象,List集合类学习的全部内容,希望文章能够帮你解决java 集合只能保存对象_JAVA使用集合类保存对象,List集合类学习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复