JAVA编程题目: ArrayList存储任意三个字符串,并遍历(迭代器遍历)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA编程题目: ArrayList存储任意三个字符串,并遍历(迭代器遍历)相关的知识,希望对你有一定的参考价值。

JAVA编程题目: ArrayList存储任意三个字符串,并遍历(迭代器遍历)ArrayList中的所有元素。(注意:使用for循环)

参考技术A import java.util.ArrayList;
import java.util.Iterator;


public class Test 

public static void main(String[] args) 
ArrayList<String> a = new ArrayList<String>();
a.add("ABC");
a.add("DEF");
a.add("XYZ");
//写法1
for (Iterator<String> i = a.iterator();i.hasNext();) 
String e = i.next();
System.out.println(e);

//写法2
for (String i : a) 
System.out.println(i);

 

追问

谢谢 这是你搜来的还是自己写的

追答


当然自己写的。

追问

😁你也是信息专业的么

追答

20年前是

追问

😱

👍👍

追答

哈哈哈,少年,努力学习吧,别把上学的时光都浪费了

追问

嗯呐 谢谢你 😊以后有问题还要多请教呐

追答

没问题。学好外语啊,有能力学个二外。

追问

英语最烂了😭

追答

那就把它学好吧;这不是能力问题,只是你愿不愿意学的问题。这东西是必需的。

追问

嗯 谢谢你😊

追答

You are welcome.

追问

😊您好,上面那个编程如果用while循环 是怎样的呢?

追答Iterator i = a.Iterator();
while (i.hasNext()) 
 System.out.println(i.next());

追问

这样是怎么了

追答

同时按Ctrl+shift+O,
用到的类没有import进来。这是基础啊.....................................................

追问

java我是什么都不知道😭

按了什么反应也没有啊

追答

需要在Package Explorer视图下

追问

我没有添加什么包

就改了一下 也没报错

追答

java.util.Iterator是Java的基础类。

追问

嗯哦

谢谢😁

参考技术B public static void main(String[] args) 
        List<String> list = new ArrayList<String>();
        
        list.add("张三");
        list.add("李四");
        list.add("王五");
        
        //使用for循环,遍历器迭代
        for(Iterator<String> it = list.iterator(); it.hasNext(); )
            System.out.println(it.next());
        
    

这种方法有一个好处,就是for循环结束,it对象就被回收了。属于比较高效的写法。

java ArrayList类 集合

集合框架(集合的由来及集合继承体系图)


* A:集合的由来
* 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少

 


* B:数组和集合的区别


* 区别1 :
* 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值
* 集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象


* 区别2:
* 数组长度是固定的,不能自动增长
* 集合的长度的是可变的,可以根据元素的增加而增长


* C:数组和集合什么时候用
* 1,如果元素个数是固定的推荐用数组
* 2,如果元素个数不是固定的推荐用集合


* D:集合继承体系图

 

集合框架(Collection集合的基本功能测试)
* A:案例演示
*
基本功能演示

boolean add(E e)
boolean remove(Object o)
void clear()
boolean contains(Object o)
boolean isEmpty()
int size()



 集合框架(集合的遍历之集合转数组遍历)
* A:集合的遍历
* 其实就是依次获取集合中的每一个元素。
* B:案例演示
* 把集合转成数组,可以实现集合的遍历
* toArray()
*

Collection coll = new ArrayList();
coll.add(new Student("张三",23)); //Object obj = new Student("张三",23);
coll.add(new Student("李四",24));
coll.add(new Student("王五",25));
coll.add(new Student("赵六",26));

Object[] arr = coll.toArray(); //将集合转换成数组    
for (int i = 0; i < arr.length; i++) {
Student s = (Student)arr[i]; //强转成Student       才能访问student特有的方法   向下转型
System.out.println(s.getName() + "," + s.getAge());   
}

 

 

集合框架(Collection集合的带All功能测试)
* A:案例演示
*
带All的功能演示

 


有两个集合    操作两个集合
boolean addAll(Collection c)  //将集合A加入集合B中
boolean removeAll(Collection c)  
boolean containsAll(Collection c)    //判断调用的集合是否包含传入的集合
boolean retainAll(Collection c)     //取交集

 

Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");

Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("c");
c2.add("d");
c2.add("e");
c2.add("f");

//取交集,如果调用的集合改变就返回true,如果调用的集合不变就返回false
boolean b = c1.retainAll(c2); //取交集
System.out.println(b);
System.out.println(c1);

 

以上是关于JAVA编程题目: ArrayList存储任意三个字符串,并遍历(迭代器遍历)的主要内容,如果未能解决你的问题,请参考以下文章

Java ArrayList类

java ArrayList类 集合

JAVA集合之ArrayList源码分析

JAVA-基础-第16章ArrayList集合

Java编程:RandomAccess接口

Java编程:RandomAccess接口