我是靠谱客的博主 可靠彩虹,最近开发中收集的这篇文章主要介绍java 集合只能保存对象_JAVA使用集合类保存对象,List集合类学习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Java中的集合对象就是一个容器,用来存放Java类的对象。我们知道,一种容器,例如水桶的水很方便倒入和取出。例如柜子里的衣服,有序摆放,更方便查找。Java的集合类也一样,不同的集合类和各自的作用!

在Java.util包中提供了集合类,集合类又叫容器。在之前我们学习过数组,集合类不同于数组,数组长度固定,集合类长度可变,数组用来存放基本类型,集合用来存放对象的引用。

常用的集合类有List集合,Set集合,Map集合。List和Set类继承了Collection接口。各自的接口有不同的实现类实现不同的作用。如图可以清楚的看出来各自的继承和实现关系。

c1f43a38b9404368a80f038c7a636868.png

关于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集合类学习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部