JAVA提高第十篇ArrayList深入分析-创新互联

前面一章节,我们介绍了集合的类图,那么本节将学习Collection 接口中最常用的子类ArrayList类,本章分为下面几部分讲解(说明本章采用的JDK1.6源码进行分析,因为个人认为虽然JDK1.8进行了部分改动,但万变不离其宗,仍然采用的JDK1.6的引子进行的优化,因此学会了1.6对于1.8也就理解了)。

创新互联公司是一家专注于网站建设、网站设计与策划设计,彭州网站建设哪家好?创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:彭州等地区。彭州做网站价格咨询:18980820575

一、ArrayList 的常见功能

在分析ArrayList的源码前,我们先看下ArrayList的常见的功能:

package study.collection;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TestDemo01
{
 public static void main(String[] args)
 {
  List list = new ArrayList();
  //ArrayList:底层实现时数组,线程不安全,效率高。所以,查询快。修改、插入、删除慢。
  //LinkedList:底层实现是链表,线程不安全,效率高。所以,查询慢。修改、插入、删除快。
  //Vector:线程安全的,效率低。
  
  list.add("aaa");
  list.add("aaa");
  list.add(new Date());
  list.add(new Dog());
  list.add(1234); //注意,list集合中只能添加引用类型,这里包装类的:自动装箱!
  list.remove(new String("aaa"));
  System.out.println(list.size());
  for(int i=0;i<list.size();i++){
   System.out.println(list.get(i)); 
  }
  
  list.set(3, new String("3333"));
  list.add(4, new String("3333"));
  
  System.out.println(list.isEmpty());
  list.remove(new Dog());  //hashcode和equals
  System.out.println(list.size());
  
  List list2 = new ArrayList();
  list2.add("bbb");
  list2.add("ccc");
  
  list.add(list2);
  
  //跟顺序的操作
  String str = (String) list.get(0);
  System.out.println(str); 
  list.set(1, "ababa");
  list.remove(0);
 }

}

class Dog
{
}

网页名称:JAVA提高第十篇ArrayList深入分析-创新互联
分享网址:https://www.cdcxhl.com/article34/jgjpe.html

成都网站建设公司_创新互联,为您提供网站制作Google建站公司网站改版网站排名标签优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设