JAVA面向对象学习——java集合———List——List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复的元素,并通过索引访问。
=========================================================================
===========================================================================
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import java.util.*; public class ListTest { public static void main(String[] args) { var books = new ArrayList(); // 向books集合中添加三个元素 books.add( "轻量级Java EE企业应用实战" ); books.add( "疯狂Java讲义" ); books.add( "疯狂Android讲义" ); System.out.println(books); // 将新字符串对象插入在第二个位置 books.add( 1 , new String( "疯狂Ajax讲义" )); for (var i = 0 ; i < books.size(); i++) { System.out.println(books.get(i)); } // 删除第三个元素 books.remove( 2 ); System.out.println(books); // 判断指定元素在List集合中的位置:输出1,表明位于第二位 System.out.println(books.indexOf( new String( "疯狂Ajax讲义" ))); // ① //将第二个元素替换成新的字符串对象 books.set( 1 , "疯狂Java讲义" ); System.out.println(books); // 将books集合的第二个元素(包括) // 到第三个元素(不包括)截取成子集合 System.out.println(books.subList( 1 , 2 )); } } |
====================================================
=====================================================
import java.util.ArrayList;
import java.util.List; //引入的2个包
public class list4
{
public static void main( String[] args )
{
List list = new ArrayList(); //不指定具体元素类型,则任意类型都可以添加
list.add("dem0——1");
list.add(2);
list.add("dem2——3");
list.add(4);
System.out.println(list);
System.out.println(list.get(0)); //取出第1个元素
System.out.println(list.get(1)); //取出第2个元素
System.out.println(list.get(2)); //取出第4个元素
System.out.println(list.get(3)); //取出第4个元素
System.out.println("==================================");
List<String> list2 = new ArrayList(); //指定为字符串型
list2.add("dem0——1");
list2.add("dem1——2");
list2.add("dem2——3");
System.out.println(list2);
System.out.println(list2.get(0)); //取出第1个元素
System.out.println(list2.get(1)); //取出第2个元素
System.out.println(list2.get(2)); //取出第3个元素
System.out.println("==================================");
List<Integer> list3 = new ArrayList(); //指定为整数型
list3.add(0);
list3.add(1);
list3.add(2);
System.out.println(list3);
System.out.println(list3.get(0)); //取出第1个元素
System.out.println(list3.get(1)); //取出第2个元素
System.out.println(list3.get(2)); //取出第3个元素
System.out.println("==================================");
}
}
========================================================================
执行结果:
[dem0——1, 2, dem2——3, 4]
dem0——1
2
dem2——3
4
==================================
[dem0——1, dem1——2, dem2——3]
dem0——1
dem1——2
dem2——3
==================================
[0, 1, 2]
0
1
2
==================================
========================================================================
list集合中各种方法的使用
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class list3
{
public static void main( String[] args )
{
List list = new ArrayList(); //创建一个list集合,不指定具体元素类型
list.add("dem0——1"); //添加list集合里面的元素
list.add("dem1——2");
list.add("dem2——3");
list.add("dem3——4");
list.add("demo4——5");
list.add("demo5——6");
System.out.println(list); //输出整个list集合
System.out.println(list.get(0)); //取出第1个元素
System.out.println(list.get(5)); //取出第6个元素
System.out.println("==================================");
list.add(5,"demoXX"); //在位置5的地方插入一个值,位置5原来的值向后移动一位
System.out.println(list);
System.out.println("==================================");
list.set(6,"demoxiugai"); //通过索引,修改某个位置元素的值;
System.out.println(list);
System.out.println("==================================");
list.set(6,"demo5——6"); //通过索引,修改某个位置元素的值;
System.out.println(list);
System.out.println("==================================");
list.remove(5); //通过索引,删除某个位置的值;
System.out.println(list);
System.out.println(list.size()); //返回list的大小;
System.out.println("==================================");
Iterator<String> it = list.iterator(); //返回集合元素顺序随机
boolean r = it.hasNext();
System.out.println(r); //true 使用迭代器的hasNext()方法判断集合中还有没有下一个元素
String str = it.next();
System.out.println(str); //使用迭代器的next()方法取出集合中下一个元素
System.out.println("==================================");
while (it.hasNext())
{
System.out.println(it.next());
}
//遍历完后,再次从迭代器取元素
boolean it2 = it.hasNext();
System.out.println(it2); //false
}
}
执行结果:
[dem0——1, dem1——2, dem2——3, dem3——4, demo4——5, demo5——6]
dem0——1
demo5——6
==================================
[dem0——1, dem1——2, dem2——3, dem3——4, demo4——5, demoXX, demo5——6]
==================================
[dem0——1, dem1——2, dem2——3, dem3——4, demo4——5, demoXX, demoxiugai]
==================================
[dem0——1, dem1——2, dem2——3, dem3——4, demo4——5, demoXX, demo5——6]
==================================
[dem0——1, dem1——2, dem2——3, dem3——4, demo4——5, demo5——6]
6
==================================
true
dem0——1
==================================
dem1——2
dem2——3
dem3——4
demo4——5
demo5——6
false
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class list3
{
public static void main( String[] args )
{
List list = new ArrayList();
list.add("dem0——1");
list.add("dem1——2");
list.add("dem2——3");
list.add("dem3——4");
list.add("demo4——5");
list.add("demo5——6");
Iterator<String> it = list.iterator(); //返回集合元素顺序随机
boolean r = it.hasNext();
System.out.println(r); //true 使用迭代器的hasNext()方法判断集合中还有没有下一个元素
String str = it.next();
System.out.println(str); //使用迭代器的next()方法取出集合中下一个元素
System.out.println("==================================");
while (it.hasNext())
{
System.out.println(it.next());
}
//遍历完后,再次从迭代器取元素
boolean it2 = it.hasNext();
System.out.println(it2); //false
System.out.println("==================================");
for(int j = 0; j < list.size(); j++) //遍历打印list的每一个值
{
System.out.println(list.get(j));
}
}
}
==========================================================================
执行结果:
true
dem0——1
==================================
dem1——2
dem2——3
dem3——4
demo4——5
demo5——6
false
==================================
dem0——1
dem1——2
dem2——3
dem3——4
demo4——5
demo5——6
» 下一篇: JAVA面向对象学习——java集合———HashSet——HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的,即不会记录插入的顺序。 HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通