ArrayList类的使用及迭代器增强型for循环
ArrayList类的使用
概念
ArrayList类实现了List的接口,实现了可变大变小的数组,多以在不知道具体数组的长度时使用ArrayList,同时它还包含排序、搜索等方法。它是单线程的。
使用方法
- add(); 向数组中添加元素。
ArrayList<Integer> array = new ArrayList<Integer>();
array.add(1);
array.add(12);
array.add(13);
array.add(15);
array.add(16);
array.add(19);
array.add(18);
array.add(17);
for (int i = 0; i < array.size(); i++) {
System.out.println(array.get(i)+"\t");
}
返回值:1 12 13 15 16 19 18 17
- toArray(); 将ArrayList转变为Array数组。
ArrayList<String> as = new ArrayList<String>();
as.add("张三");
as.add("李四");
as.add("王五");
as.add("孙六");
//将ArrayList转变为Array数组
Object[] array = as.toArray();
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+"\t");
}
返回值:张三 李四 王五 孙六
- contains();查找ArrayList中的元素,有的话返回true,没有则返回false。
ArrayList<String> co = new ArrayList<String>();
co.add("a");
co.add("b");
co.add("v");
co.add("z");
boolean s = co.contains("a");
System.out.println(s);
返回值:true
- size();返回数组的长度
ArrayList<String> co = new ArrayList<String>();
co.add("a");
co.add("b");
co.add("v");
co.add("z");
int s = co.size();
System.out.println(s);
返回值:4
迭代器的使用
概念
为数据容器提供了公共的操作接口,可以对数据容器进行遍历操作,如ArrayList等。
迭代器的方法
- hasNext();如果迭代具有更多元素,返回true。
- next();返回迭代中的下一个元素。
迭代器使用-遍历
ArrayList c = new ArrayList<String>();
c.add("123");
c.add("456");
c.add("789");
c.add("987");
c.add("654");
c.add("321");
Iterator i = c.iterator();
while (i.hasNext()){
String n =(String)i.next();
System.out.print(n+"\t");
}
返回值:123 456 789 987 654 321
增强型for循环的使用
与for循环的比较
增强型for循环相比于普通for循环,增强型for循环不用操作索引,对于索引不明确的素组来说遍历变得极为简单。
增强型for循环使用
for(数据类型 变量名:被遍历的集合或数组){
执行语句;
}
int[] arr={12,5,689,45,23,69,87};
//普通for循环遍历
// for (int i = 0; i < arr.length; i++) {
// System.out.println(arr[i]);
// }
for(int i: arr) {
System.out.println(i + 1);
}
ArrayList c = new ArrayList<String>();
c.add("123");
c.add("456");
c.add("789");
c.add("987");
c.add("654");
c.add("321");
// 迭代器的遍历
// Iterator i = c.iterator();
// while (i.hasNext()){
// String n =(String)i.next();
// System.out.print(n+"\t");
// }
for (Object obj:c
) {
System.out.print(obj+"\t");
}