Java基础——collection接口
int [] x=new int[5]; //声明一个数组,长度为5,每个元素都是 int型
Student [] list=new Student[5]; //声明一个数组,长度为5,每个元素都是 Student 型

import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> c = new ArrayList<String>();
Collection<String> d = new ArrayList<String>();
Collection<String> e = new ArrayList<String>();
Collection<String> f = new ArrayList<String>(); // Integer中的i要大写
ArrayList<Integer> h = new ArrayList<Integer>();// h和g做比较 h.add(4);
h.add(33);
h.add(66);
h.add(77);
h.add(345);
h.add(44);
// h.add("aaa");—报错
// h.add(ff);—报错 // Object[] g={"aaa",4,33,66,ff,77,88,345,44,"dd","cfc"}; a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); c.add("黃");
c.add("河"); d.add("白");
d.add("日");
d.add("依");
d.add("山");
d.add("尽"); e.add("山");
e.add("尽"); f.add("5");
// f.add(6); Object[] g = { "aaa", 4, 33, 66, 77, 88, 345, 44, "dd", "cfc" }; System.out.println(a.isEmpty());
System.out.println(a.add("白"));
System.out.println(a.addAll(c));
System.out.println(a); System.out.println(a.contains("地"));
System.out.println(a.containsAll(c));// true
System.out.println(a.equals(c));
System.out.println(c); a.clear();
System.out.println(a);
System.out.println(a.containsAll(d)); d.remove("白");
System.out.println(d);
d.remove("wang");// 没有反应
System.out.println(d); System.out.println(a.hashCode());// a此时已经被晴空了
// 第一次时,我竟然是这么写的:a.hashCode();
System.out.println(c.hashCode());
System.out.println(d.hashCode()); a.add("浪花滚滚");
System.out.println(a); System.out.println(e.removeAll(d));
System.out.println(d.removeAll(e));
System.out.println(d);
System.out.println(e);
System.out.println(e.size());
// 我之前写成e.size();
System.out.println(d.size()); System.out.println(a.toArray());// 哈哈哈注意
System.out.println(f.toArray());// 哈哈哈注意 System.out.println("=========分割线========="); // System.out.println(g);
for (int i = 0; i < g.length; i++)
System.out.println(g); System.out.println("**********分割线*********"); // 获取数组
Integer[] array = h.toArray(new Integer[h.size()]);
// 遍历数组
/**
* for(int i=0;i<h.length;i++){ System.out.println(h[i]+""); length
* 报错:cannot be resolved or is not a field
*/
for (int element : array) {
System.out.println(element);// 和下面的一起打印,结果竟然!!! System.out.print(element + "\t");// 复习一下而已 } } }
Output:
//上面示例的打印结果!!
false
true
true
[白, 日, 依, 山, 尽, 白, 黃, 河]
false
true
false
[黃, 河]
[]
false
[日, 依, 山, 尽]
[日, 依, 山, 尽]
1
1288721
798365125
[浪花滚滚]
true
false
[日, 依, 山, 尽]
[]
0
4
[Ljava.lang.Object;@16925b0
[Ljava.lang.Object;@297ffb
=========分割线=========
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
**********分割线*********
4
4 33
33 66
66 77
77 345
345 44
44
Collection常用方法小总结:
boolean add(E e) //注意它的参数类型
boolean addAll(Collection<? extends E> c) 将指定 collection 中的所有元素都添加到此 collection 中
boolean remove(Object o)
boolean contains(Object o) //判断集合中指定的元素是否存在
boolean containsAll()// 如果此 collection 包含指定 collection 中的所有元素,则返回 true。
boolean removeAll(Collection<?> c)
boolean retainAll(Collection<?> c) 仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)(取交集)
clear()
size()
toArray()
boolean isEmpty()
Iterator<E> iterator() 返回在此 collection 的元素上进行迭代的迭代器。
代码实例(关注比较结果)
例一:(主要对比1.有无注释掉的内容;2.true和false和打印位置;3思考执行顺序和字符串类型的比较)
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); a.remove("4"); b.add("白");
b.add("日");
b.add("依");
b.add("山");
b.add("尽"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}
例二:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); //a.remove("4"); b.add("白");
b.add("日");
b.add("依");
b.add("山");
b.add("尽"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); //System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}
例三:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); a.remove("4"); b.add("黃");
b.add("河");
b.add("入");
b.add("海");
b.add("流"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}
例四:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); //a.remove("4"); b.add("黃");
b.add("河");
b.add("入");
b.add("海");
b.add("流"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); //System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}
例五:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); //a.remove("4"); b.add("黃");
b.add("河");
b.add("入"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); //System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}
例六:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); a.remove("4"); b.add("黃");
b.add("河");
b.add("入"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}
二、List与set常用方法
/*List集合的特有特性
*
*public interface List<E>extends Collection<E>
*-- add(int index, E element) 在列表的指定位置插入指定元素
*-- addAll(int index, Collection<? extends E> c)
*-- E get(int index) //返回列表中指定位置的元素。
*-- int indexOf(Object o) // 返回此列表中第一次出现的指定元素的索引
*-- listIterator()
*-- e set(int index, E element) // 用指定元素替换列表中指定位置的元素
*-- void remove(int position) 移除指定位置的元素
*-- List<E> subList(int fromIndex, int toIndex ) 类似substring()
*/
import java.util.ArrayList; class CollT {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("Java"); // 下標是0
list.add("Class"); // 下標是1
list.add("Array"); // 下標是2
list.add("Collection"); // 下標是3
list.add("List"); // 下標是4
list.add("Set"); // 下標是5
System.out.println(list.subList(0, 3));// 注意不包含下標是3的
}
}
Java基础——collection接口的更多相关文章
- Java基础-Collection子接口之Set接口
Java基础-Collection子接口之Set接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 学习Collection接口时,记得Collection中可以存放重复元素,也可 ...
- Java基础-Collection子接口之List接口
Java基础-Collection子接口之List接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们掌握了Collection接口的使用后,再来看看Collection接口中 ...
- Java基础十--接口
Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...
- Java基础-面向接口(interface)编程
Java基础-面向接口(interface)编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的“类 ...
- Java基础 -- Collection和Iterator接口的实现
Collection是描述所有序列容器(集合)共性的根接口,它可能被认为是一个“附属接口”,即因为要表示其他若干个接口的共性而出现的接口.另外,java.util.AbstractCollection ...
- java SE基础(Collection接口概述)
Collection接口相关集成关系例如以下图 1. 关于可迭代接口(Iterable) 可迭代接口仅包括一个方法,返回一个在一组T类型元素上进行迭代的迭代器: public ...
- Java 之 Collection 接口
一.Collection 集合 Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是 java.util.List 和 java.util.Set. ...
- java集合——Collection接口
Collection是Set,List接口的父类接口,用于存储集合类型的数据. 2.方法 int size():返回集合的长度 void clear():清除集合里的所有元素,将集合长度变为0 Ite ...
- java.util (Collection接口和Map接口)
1:Collection和Map接口的几个主要继承和实现类 1.1 Collection接口 Collection是最基本的集合接口,一个Collection代表一 ...
随机推荐
- C#为什么不能像C/C++一样的支持函数只读传参
C#为什么不能像C/C++一样的支持函数只读传参? 这个问题其实问的人挺多的,我自己也经常想实现这个功能,但是发现总是那么的不尽人意. 有些人倒是给出了一下答案,但是都不能很好的解决像C/C++一样的 ...
- OpenvSwitch端口镜像
OVS上实现端口镜像的基本流程如下: 创建 mirror ,在 mirror 中指定镜像数据源及镜像目的地 将创建的 mirror 应用到 bridge 中 镜像数据源可以通过下面几个选项来指定: s ...
- Ubuntu修改apt-get源
1.背景 服务器上安装了最新的Ubuntu Server 17.04,代号为zesty.使用apt-get命令安装软件时,有时候速度比较慢,有时候会失败.因此考虑用国内的镜像源更换下apt-get的默 ...
- Mac使用brew安装nginx,并解决端口访问权限问题
1.安装 brew install nginx 2.修改配置文件 sudo vi /usr/local/etc/nginx/nginx.conf 修改默认的8080端口为80 修改日志文件地方 err ...
- cnetos6上实现nfs共享
利用空余时间,做个nfs共享实验,岂不美滋滋!!! 系统测试环境: 主机ip 系统 主机名(服务) 192.168.241.130 centos6.5 hadoop1(nfs-sr ...
- 【转载】InstallShield 生成安装日志
msiexec.exe /p "C:\Documents and Settings\qa\Desktop\8.3 Patch.msp" /l*v c:\log85gold.log ...
- 课程一(Neural Networks and Deep Learning)总结——2、Deep Neural Networks
Deep L-layer neural network 1 - General methodology As usual you will follow the Deep Learning metho ...
- C# 字符串操作详解
MSDN关于String的所有Method 1.字符串转字符数组 (1).ToCharArray()方法,源码如下: 调用代码: var str = "Hello World"; ...
- 关于一点儿对仓储(Repository)的理解
仓储(Repository) 内容来源于dudu的 关于Repository模式一文 Repository是一个独立的层,介于领域层与数据映射层(数据访问层)之间.它的存在让领域层感觉不到数据访问层的 ...
- JavaScript与CSS相对路径引用的差异
转自:http://blog.csdn.net/luohuidong01/article/details/74938652 JS跟CSS相对路径引用的差异在于他们的参考点不一样,下面举个例子说明一下. ...