Java ArrayList小程序理解

package Collection;

import java.util.ArrayList;
import java.util.Iterator;

//import javax.xml.crypto.AlgorithmMethod;
/*
 1. add方法的参数 类型是Object,以便于接收任意类型的对象
 2. 集合中存储的都是对象的引用(地址)

 迭代器:就是集合取出元素的方式
*/
public class ClloectionDemo
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		// method2();
		method_get();
	}

	public static void method_get()
	{
		ArrayList<String> al = new ArrayList<String>();

		al.add("java1");
		al.add("java2");
		al.add("java3");

		// sop(al);

		// iterator():返回Iterator接口的子对象
		// 接口型引用只能指向自己接口的子类对象,该对象是从集合对象中的方法 new 出来的
		//Iterator it = al.iterator();

		/* One
		while (it.hasNext())
		{
			sop(it.next());
		}
		*/
		/* Two
		for (int i = 0; i < al.size(); i++)
		{
			sop(it.next());
		}
		*/
		// Three
		for(Iterator itt = al.iterator();itt.hasNext(); )
		{
			sop(itt.next());
		}
	}

	public static void method2()
	{
		ArrayList<String> al = new ArrayList<String>();

		al.add("java1");
		al.add("java2");
		al.add("java3");

		ArrayList<String> a2 = new ArrayList<String>();

		a2.add("java1");
		a2.add("java5");
		a2.add("java6");

		// 取交集,取相同的元素
		//al.retainAll(a2);

	    al.removeAll(a2);

		sop("al: "+al);
		sop("a2: "+a2);

	}

	public static void base_method()
	{
		//创建一个集合容器,使用Collection 接口的子类。ArrayList
				ArrayList<String> al = new ArrayList<String>();

				// 添加
				al.add("heh");
				al.add("dhf");
				al.add("fdjkgd");

				// 打印
				sop("原集合:"+al);

			    //删除
				al.remove("heh");
				sop(al);

				// 清空集合
				al.clear();

				// 是否为空
				sop("是否为空:"+al.isEmpty());
				// 判断元素
				sop("heh是否存在:"+al.contains("heh"));

				// 获取集合长度
				sop("size: "+al.size());
	}
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
}

  

时间: 07-10

Java ArrayList小程序理解的相关文章

java每日小算法(4)

[程序4] 题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步. package test; import java.util.ArrayList;

java每日小算法(7)

/*[程序7] 题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 1.程序分析:利用while语句,条件为输入的字符不为'\n'. */ package test; import java.util.ArrayList; import java.util.List; public class test { public static List<Integer> countstr(String input) { List<Integer> result = n

java每日小算法(9)

/*[程序9] 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出1000以内的所有完数. */ package test; import java.util.ArrayList; import java.util.List; public class test { public static boolean overnum(int number) { List<Integer> list = new ArrayList<Int

java每日小算法(27)

/* [程序27]  题目:求100之内的素数    */ package test; import java.util.Scanner; public class test { public static boolean prime(int number) { boolean flag = true; int mid = (int)Math.sqrt(number); for(int i = 2; i< mid+1; i++) { if(number % i == 0) { flag = fa

福利贴——爬取美女图片的Java爬虫小程序代码

自己做的一个Java爬虫小程序 废话不多说,先上图. 文件夹命名是用标签缩写,如果大家看得不顺眼可以等下载完成后手动改一下,比如像有强迫症的我一样... 这是挂了一个晚上下载的总大小,不过还有很多因为一些问题没有遍历下载到,而且会产生很多空文件,最下面我附带了一个递归删除空文件夹的小程序代码. 接下来是文件夹内部~ 图片存放位置默认为d:\picture,可在程序中更改,main函数的开头就是,有注释.爬取的网站为http://www.mmonly.cc/,大家有更好的资源网站可以私我. 爬虫源

Java多态小总结

多态,又可以称为动态绑定,即在运行时确定类型,比如: 1 class A { 2 void draw(){ 3 //输出“A” 4 } 5 } 6 class B { 7 void draw(){ 8 //输出“B” 9 } 10 11 } 这种关系里,如果调用A a = new B(); 此时,被称为向上转型,a的类型可能在很早之前被生命,而在这时候被明确指明是其子类型, 我们如果要去调用draw()方法的时候,会调用输出“B”,这样,便是Java中的“多态”.我们称其为“向上转型”. 但是,

java每日小算法(10)

/*[程序10]  题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? */ package test; public class test { public static void main(String[] args) { // TODO Auto-generated method stub double high = 100.0; double jump = 0.0; double sum = 0.0; for(

Java ArrayList、Vector和LinkedList等的差别与用法(转)

Java ArrayList.Vector和LinkedList等的差别与用法(转) ArrayList 和Vector是采取数组体式格式存储数据,此数组元素数大于实际存储的数据以便增长和插入元素,都容许直接序号索引元素,然则插入数据要设计到数组元素移动等内存操纵,所以索引数据快插入数据慢,Vector因为应用了synchronized办法(线程安然)所以机能上比ArrayList要差,LinkedList应用双向链表实现存储,按序号索引数据须要进行向前或向后遍历,然则插入数据时只须要记录本项的

java每日小算法(3)

[程序3] 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位. package test; public class test { public static boolean daffodil(int num) { boolean flag