集合List的使用 (例子+概念)
2015-11-08 20:18
621 查看
集合List概念区:
List接口扩充了collection,所以拥有更多的方法,使用更方便,可以重复。实现子类ArrayList
具体使用看注释
集合List代码区:
import java.util.ArrayList;
import java.util.List;
public class ArrayListDemo {
public static void main(String[] args) {
// ArrayList<String> list1 = new ArrayList<String>();
// 创建集合
// list元素可以重复
List<String> list1 = new ArrayList<String>();
// Collection<String> c = new ArrayList<>();
list1.add("张三");
list1.add("李四");
list1.add("王五");
list1.add("张三");
System.out.println(list1);
List<User> list2 = new ArrayList<User>();
list2.add(new User("老A", 23));
list2.add(new User("老C", 24));
list2.add(new User("老D", 12));
list2.remove(new User("老A", 23));
System.out.println(list2);
List<String> list3 = new ArrayList<String>();
list3.add("张XX");
list3.add("赵");
list3.addAll(1, list1);
System.out.println(list3);
list3.remove("赵");
// 思考如何删除集合中自定义的对象实例(不用下标的方式)
// list2.remove(new User("老A",23));
list2.remove(0);
System.out.println(list2);
list3.remove(0);
System.out.println(list3);
//
/*
* for (int i = 0; i < list1.size(); i++) {
* System.out.println(list1.get(i)); } for(String x:list1){
* System.out.println(x); }
*/
// Object[] s = list1.toArray();
String[] s = new String[3];
s = list1.toArray(s);
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
}
}
/*
* class Util1{ public <T> T toArray1(T[] a,List<String> list){ int len =
* list.size(); a = new T[len]; return null; } }
*/
class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}
List接口扩充了collection,所以拥有更多的方法,使用更方便,可以重复。实现子类ArrayList
具体使用看注释
集合List代码区:
import java.util.ArrayList;
import java.util.List;
public class ArrayListDemo {
public static void main(String[] args) {
// ArrayList<String> list1 = new ArrayList<String>();
// 创建集合
// list元素可以重复
List<String> list1 = new ArrayList<String>();
// Collection<String> c = new ArrayList<>();
list1.add("张三");
list1.add("李四");
list1.add("王五");
list1.add("张三");
System.out.println(list1);
List<User> list2 = new ArrayList<User>();
list2.add(new User("老A", 23));
list2.add(new User("老C", 24));
list2.add(new User("老D", 12));
list2.remove(new User("老A", 23));
System.out.println(list2);
List<String> list3 = new ArrayList<String>();
list3.add("张XX");
list3.add("赵");
list3.addAll(1, list1);
System.out.println(list3);
list3.remove("赵");
// 思考如何删除集合中自定义的对象实例(不用下标的方式)
// list2.remove(new User("老A",23));
list2.remove(0);
System.out.println(list2);
list3.remove(0);
System.out.println(list3);
//
/*
* for (int i = 0; i < list1.size(); i++) {
* System.out.println(list1.get(i)); } for(String x:list1){
* System.out.println(x); }
*/
// Object[] s = list1.toArray();
String[] s = new String[3];
s = list1.toArray(s);
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
}
}
/*
* class Util1{ public <T> T toArray1(T[] a,List<String> list){ int len =
* list.size(); a = new T[len]; return null; } }
*/
class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- [Android]在代码里运行另一个程序的方法
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序