A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 坏男孩 中级黑马   /  2014-6-29 21:44  /  1473 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

网上查了下,还是不太理解,能否给出具体例子。

8 个回复

倒序浏览
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-29 22:50
List集合
import java.util.ArrayList;import java.util.List; public class ListDemo {        public static voi ...

这不是老师视频里的那个例子么?  
回复 使用道具 举报
坏男孩 发表于 2014-6-30 08:08
这不是老师视频里的那个例子么?

不清楚哦,我直接看18天以后的视频了,怕赶不上时间。这个是我大一的时候学过的,有些代码不常用,已经删掉了
回复 使用道具 举报
跃动 发表于 2014-6-30 20:02
不清楚哦,我直接看18天以后的视频了,怕赶不上时间。这个是我大一的时候学过的,有些代码不常用,已经删 ...

噢,谢谢,加油!:)
回复 使用道具 举报
:handshake
回复 使用道具 举报
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则是对一个数组进行类似的操作。

回复 使用道具 举报
ArrayList<String> al = new ArrayList<>();   al.add("a"); al.add("b"); al.add("c"); al.add("d");   for(String str : al){SOP(str)}
回复 使用道具 举报
       对于集合的操作,无非就是得到集合对象,添加元素、插入元素、删除元素、修改元素、集合遍历。对于这些操作,每个集合类都传承了一些共性的方法。不过对需求和环境的考虑,抽取出来不同的集合类,每个集合类有了自己特有的方法以便于对不同的情况下有一个快捷方便的操作。
      例如:这提到的ArrayList集合,它的特点是他底层存储数据的结构是数组,既然是数组,肯定是有索引的,所以ArrayList这个集合有了一些依据索引来操作元素的方法,自然遍历和查找是方便而快捷的。在有,对于数组结构来说想要插入元素和删除元素,肯定要影响到数组的下标顺序的,对于这类操作ArrayList是以创建新的数组,在进行数组元素复制,而完成的。显然这样是一个繁琐的过程,所以ArrayList集合对插入元素和删除元素是比较慢的。
         以上是自己对集合的肤浅理解;
         对于ArrayLst集合如何使用。
              1、先创建或通过参数传递得到一个集合对象;
              2、接下来就是看需求是添加元素、插入元素、删除元素、修改元素还是对集合遍历,以需求来。
              3、对于这些操作都有着相应的方法,这可以仔细去看看API,对每个方法都仔细试一试。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马