黑马程序员技术交流社区
标题: ArrayList集合如何使用? [打印本页]
作者: 坏男孩 时间: 2014-6-29 21:44
标题: ArrayList集合如何使用?
网上查了下,还是不太理解,能否给出具体例子。
作者: 跃动 时间: 2014-6-29 22:50
List集合
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
//1.加入元素
list.add("Hello");
list.add("World");
list.add("tom");
list.add("cat");
list.add(1,"Hi"); //在指定位置插入元素
System.out.println(list);
//2.删除元素
list.remove(3); //删除指定位置的元素
list.remove("Hello"); //删除指定内容的元素
System.out.println(list);
//3.输出集合内容
System.out.print("\n由前向后输出:");
for (int i = 0; i < list.size(); i++) { //循环输出集合内容
System.out.print(list.get(i) + "、");//通过下标取得集合中的元素
}
System.out.print("\n由后向前输出:");
for (int i = list.size() - 1; i >= 0; i--) {//循环输出集合内容
System.out.print(list.get(i) + "、"); //通过下标取得集合中的元素
}
//4.取出部分集合
List<String> subList = list.subList(1,2); //取出部分集合[起,止)
System.out.print("\n子集截取:");
for (int i = 0; i < subList.size(); i++) { //输出
System.out.print(subList.get(i) + "、");
}
}
}
作者: 坏男孩 时间: 2014-6-30 08:08
跃动 发表于 2014-6-29 22:50
List集合
import java.util.ArrayList;import java.util.List; public class ListDemo { public static voi ...
这不是老师视频里的那个例子么?
作者: 跃动 时间: 2014-6-30 20:02
不清楚哦,我直接看18天以后的视频了,怕赶不上时间。这个是我大一的时候学过的,有些代码不常用,已经删掉了
作者: 坏男孩 时间: 2014-7-1 07:20
噢,谢谢,加油!:)
作者: 跃动 时间: 2014-7-1 22:59
:handshake
作者: abc张强8 时间: 2014-7-1 23:09
List接口对Collection进行了简单的扩充,它的具体实现类常用的有ArrayList和LinkedList。你可以将任何东西放到一个List容器中,并在需要时从中取出。ArrayList从其命名中可以看出它是一种类似数组的形式进行存储,因此它的随机访问速度极快,而LinkedList的内部实现是链表,它适合于在链表中间需要频繁进行插入和删除操作。在具体应用时可以根据需要自由选择。前面说的Iterator只能对容器进行向前遍历,而ListIterator则继承了Iterator的思想,并提供了对List进行双向遍历的方法。
Set接口也是Collection的一种扩展,而与List不同的时,在Set中的对象元素不能重复,也就是说你不能把同样的东西两次放入同一个Set容器中。它的常用具体实现有HashSet和TreeSet类。HashSet能快速定位一个元素,但是你放到HashSet中的对象需要实现hashCode()方法,它使用了前面说过的哈希码的算法。而TreeSet则将放入其中的元素按序存放,这就要求你放入其中的对象是可排序的,这就用到了集合框架提供的另外两个实用类Comparable和Comparator。一个类是可排序的,它就应该实现Comparable接口。有时多个类具有相同的排序算法,那就不需要在每分别重复定义相同的排序算法,只要实现Comparator接口即可。集合框架中还有两个很实用的公用类:Collections和Arrays。Collections提供了对一个Collection容器进行诸如排序、复制、查找和填充等一些非常有用的方法,Arrays则是对一个数组进行类似的操作。
作者: 夏季熬成了秋 时间: 2014-7-1 23:45
ArrayList<String> al = new ArrayList<>(); al.add("a"); al.add("b"); al.add("c"); al.add("d"); for(String str : al){SOP(str)}
作者: 那片天空 时间: 2014-7-1 23:49
对于集合的操作,无非就是得到集合对象,添加元素、插入元素、删除元素、修改元素、集合遍历。对于这些操作,每个集合类都传承了一些共性的方法。不过对需求和环境的考虑,抽取出来不同的集合类,每个集合类有了自己特有的方法以便于对不同的情况下有一个快捷方便的操作。
例如:这提到的ArrayList集合,它的特点是他底层存储数据的结构是数组,既然是数组,肯定是有索引的,所以ArrayList这个集合有了一些依据索引来操作元素的方法,自然遍历和查找是方便而快捷的。在有,对于数组结构来说想要插入元素和删除元素,肯定要影响到数组的下标顺序的,对于这类操作ArrayList是以创建新的数组,在进行数组元素复制,而完成的。显然这样是一个繁琐的过程,所以ArrayList集合对插入元素和删除元素是比较慢的。
以上是自己对集合的肤浅理解;
对于ArrayLst集合如何使用。
1、先创建或通过参数传递得到一个集合对象;
2、接下来就是看需求是添加元素、插入元素、删除元素、修改元素还是对集合遍历,以需求来。
3、对于这些操作都有着相应的方法,这可以仔细去看看API,对每个方法都仔细试一试。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |