黑马程序员---ARRAYlIST和HashSet关于数据的唯一性(原创)

来源:互联网 发布:淘宝店铺海报图的尺寸 编辑:程序博客网 时间:2024/04/29 12:04
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------


为什么ARRAYlIST和HashSet保证数据的唯一性不同?

 因为数据结构不同。

1,Arraylist只需要equals方法?并且要单独设定一个临时容器,与之前的容器作比较。

2,HashSet本身是无序不能重复的集合,即数据结构本身已经存在,按照哈希值来去重的特性。所以不需要写一个临             时容器来和之前容器的元素作比较。但是要在被调用(添加)的元素的类中覆写equals和hashcode方法





Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。

1.语法:add()是添加一个新的元素,remove()删除一个元素,size()获得ArrayList的长度。ArrayList的下标是从0开始。

2.示例代码


import java.util.ArrayList;
public class JavaArrayList 
{
public static void main(String[]args)
{
   //Java动态数组的初始化
   ArrayList al=new ArrayList();
   //向Java动态数组中添加数据
   al.add("a");
   al.add("b");
   al.add("c");
   //输出Java动态数组
   for(int i=0;i<al.size();i++)
   {
    String alEach=(String)al.get(i);
    System.out.println(alEach); //输出结果 a b c
   }

   //删除数组中的某个元素,删除第二个元素
   al.remove(1);

   //修改Java动态数组,把新的元素2放到第二个位置
   al.add(1,"2");

   ////输出Java动态数组
   for(int i=0;i<al.size();i++)
   {
    String alEach=(String)al.get(i);
    System.out.println(alEach);//输出结果 a 2 c
   }
}
}




           ----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
原创粉丝点击