黑马程序员技术交流社区
标题: 明天考试 办理的可以看看 [打印本页]
作者: LiuWei1989 时间: 2014-11-27 21:13
标题: 明天考试 办理的可以看看
ArrayList用面向过程面向对象两种方法判断元素是否含有指定元素
package com.arraylist;
import java.util.ArrayList;
public class ArrayListDemo4 {
public static void main(String[] args) {
//创建集合对象
ArrayList< String> a = new ArrayList<String>();
//创建集合元素
a.add("hello");
a.add("world");
a.add("java");
//面向过程遍历
Object [] obj = a.toArray();
for (int i = 0; i < obj.length; i++) {
if ("java".equals(obj)) {
System.out.println(obj);
System.out.println(i);
}
}
System.out.println("-----------");
//面向对象遍历
System.out.println(a.contains("java"));
System.out.println(a.toString());
}
}
用迭代器遍历集合
package com.arraylist;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo5 {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> a = new ArrayList<String>();
//添加集合元素
a.add("hello");
a.add("world");
a.add("java");
//迭代器实现集合存储遍历
Iterator<String> it = a.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
集合的功能
package com.arraylist;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
//创建集合
Collection<String> c = new ArrayList<String>();
Collection<String> c1 = new ArrayList<String>();
//添加功能
c.add("hello");
c.add("world");
c.add("java");
c1.add("hello");
c1.add("world");
c1.add("java");
c1.add("javase");
c1.add("javame");
System.out.println(c);
System.out.println("----------");
//删除功能
System.out.println(c.remove("java"));
System.out.println(c);
System.out.println("----------");
//判断功能
System.out.println(c.isEmpty());
System.out.println(c.contains("world"));
System.out.println("----------");
//遍历功能
Iterator<String> it = c.iterator();
System.out.println(c);
System.out.println("----------");
//长度功能
for (int i = 0; i < c.size(); i++) {
System.out.println(c);
break;
}
System.out.println("-------------------");
//交集功能
System.out.println(c1.retainAll(c));
System.out.println(c.retainAll(c1));
System.out.println("---------------");
//把集合转换成数组
Object [] obj = c1.toArray();
for (int i = 0; i < obj.length; i++) {
System.out.println(obj);
}
}
}
为什么转换成数组遍历只能显示两个元素?
List的特有功能
package com.arraylist;
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
//创建List集合对象
List<String> li = new ArrayList<String>();
//添加功能
li.add("hello");
li.add("world");
li.add("java");
li.add("javase");
li.add("javame");
System.out.println(li);
System.out.println("--------------");
//删除功能
System.out.println(li.remove("world"));
System.out.println(li);
System.out.println("--------------");
//修改功能
System.out.println(li.set(3, "javahaha"));
System.out.println(li);
System.out.println("---------------");
//获取功能
System.out.println(li.indexOf("hello"));
System.out.println(li.get(3));
System.out.println();
//截取功能
System.out.println(li.subList(1, 3));
}
}
ArrayList遍历package com.arrayList;
import java.util.ArrayList;
import javax.print.DocFlavor.STRING;
public class ArrayListDemo { public static void main(String[] args) { //创建集合对象 ArrayList<String> a = new ArrayList<String>(); //创建集合元素 a.add("hello"); a.add("world"); a.add("java"); //加强for遍历集合元素 for (String string : a) { System.out.println(string); } }}
作者: LiuWei1989 时间: 2014-11-27 21:14
ArrayList储存自定义Student对象遍历
package com.arrayList;
public class Student {
private String name;
private int age;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
package com.arrayList;
import java.util.ArrayList;
public class StudentDemo {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> a = new ArrayList<Student>();
//创建学生对象并赋值
Student s1 = new Student("小黑",20);
Student s2 = new Student("小蓝",15);
Student s3 = new Student("小绿",25);
//创建集合元素
a.add(s1);
a.add(s2);
a.add(s3);
//普通for循环遍历
for (int i = 0; i < a.size(); i++) {
System.out.println(a.get(i).getName()+"*****"+a.get(i).getAge());
}
//加强for循环遍历
for (Student student : a) {
System.out.println(student);
}
}
}
ArrayList创建新元素存储不重复元素
package cn.arraylist1;
import java.util.ArrayList;
/**
* 一个字符串集合ArrayList中含有如下元素: hello, world, java, hello, .net, java, php, ios,
* java, android,world。
*
* 要求编写程序,获得一个没有重复元素的集合。
*
* @author itcast
*
* 思路: 1. 新建一个集合,该集合是这个程序要返回的没有重复元素的集合 2.
* 遍历原集合,把遍历出来的每一个元素都存入到新集合中,但是在存入之前先判断一下:新的集合中是否已经包含这个元素了 3.
* 如果包含该元素,就不添加进新集合,如果不包含该元素,就添加
*/
public class ArrayListDemo {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> a = new ArrayList<String>();
//创建集合元素
a.add("hello");
a.add("world");
a.add("java");
a.add("hello");
a.add("hava");
a.add("java");
a.add("worr");
//创建新的集合存储不重复的元素
ArrayList<String> a1 = new ArrayList<String>();
//遍历旧的集合
for (String string : a) {
//加强for抽取不重复的元素
if (!a1.contains(string)) {
a1.add(string);
}
}
//加强for遍历新的集合元素
for (String string : a1) {
System.out.println(string);
}
}
}
LinkedList遍历集合元素
package cn.arraylist1;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class LinkedListDemo {
public static void main(String[] args) {
//创建集合对象
List<String> li = new LinkedList<String>();
//创建集合元素
li.add("hello");
li.add("world");
li.add("java");
//用迭代器存储元素
Iterator<String> it = li.iterator();
//while循环遍历集合元素
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
System.out.println();
//用加强for循环遍历集合元素.
for (String string : li) {
System.out.println(string);
}
}
}
重写equals方法遍历不重复元素:
package com.arraylist;
public class Student {
private String name;
private int age;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.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
//重写equals方法
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) 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;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
package com.arraylist;
import java.util.ArrayList;
import java.util.Iterator;
public class StudentDemo {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> a = new ArrayList<Student>();
//创建学生对象
Student s1 = new Student("小明",20);
Student s2 = new Student("小黄",22);
Student s3 = new Student("小明",20);
Student s4 = new Student("小蓝",24);
Student s5 = new Student("小黄",23);
Student s6 = new Student("小蓝",25);
//创建集合元素
a.add(s1);
a.add(s2);
a.add(s3);
a.add(s4);
a.add(s5);
a.add(s6);
//新建集合对象存储不重复的元素
ArrayList<Student> a1 = new ArrayList<Student>();
//创建迭代器遍历元素
Iterator<Student> it = a.listIterator();
//while循环遍历旧的元素
while(it.hasNext()){
Student s = it.next();
//判断不重复的元素
if (!a1.contains(s)) {
a1.add(s);
}
}
//遍历新的不重复元素
for (Student student : a1) {
System.out.println(student);
}
}
}
Vector遍历
package com.arraylist;
import java.util.Enumeration;
import java.util.Vector;
public class VectorDemo {
public static void main(String[] args) {
//vector类创建集合元素
Vector<String> v = new Vector<String>();
//创建集合元素
v.add("hello");
v.add("world");
v.add("java");
//加强for循环遍历集合元素
for (String string : v) {
System.out.println(string);
}
System.out.println("--------------");
//vector畠迭代器
Enumeration<String> en = v.elements();
while(en.hasMoreElements()){
String s = (String)en.nextElement();
System.out.println(s);
}
}
}
LinkedList的特有功能
package com.arraylist;
import java.util.LinkedList;
public class LinkedListDemo {
public static void main(String[] args) {
//创建LinkedList的集合
LinkedList<String> li = new LinkedList<String>();
//创建集合元素
li.add("hello");
li.add("world");
li.add("java");
//添加功能
li.addFirst("javame");
li.addLast("javase");
System.out.println(li);
System.out.println("---------------");
//获取功能
System.out.println(li.getFirst());
System.out.println(li.getLast());
System.out.println("-------------");
//删除功能
System.out.println(li.removeFirst());
System.out.println(li.removeLast());
System.out.println(li);
}
}
LinkedList模拟栈集合
package com.arraylist;
import java.util.LinkedList;
public class MyStack {
//自定义栈集合
private LinkedList link;
//定义创建集合功能
public MyStack(){
link = new LinkedList();
}
//定义添加元素功能
public void add(Object obj){
link.addFirst(obj);
}
//定义获取元素功能
public Object get(int index){
return link.get(index);
}
//定义遍历功能
public int size(){
return link.size();
}
}
package com.arraylist;
import java.util.Iterator;
public class LinkedListDemo1 {
public static void main(String[] args) {
//实现创建对象
MyStack ms = new MyStack();
//实现添加元素
ms.add("hello");
ms.add("world");
ms.add("java");
//实现获取元素
System.out.println(ms.get(0));
System.out.println(ms.get(1));
System.out.println(ms.get(2));
System.out.println("-----------");
//实现遍历功能
for (int i = 0; i < ms.size(); i++) {
String s = (String)ms.get(i);
System.out.println(s);
}
}
}
增强for
package com.arraylist;
import java.sql.Array;
import java.util.ArrayList;
public class ForDemo {
public static void main(String[] args) {
//整形数组
int [] arr = {9,8,7,6,5,4};
//普通for
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
System.out.println();
System.out.println("--------------");
//增强for
for (int i : arr) {
System.out.print(i);
}
System.out.println();
System.out.println("--------------");
String [] s = {"hello","world","java"};
//增强for
for (String string : s) {
System.out.println(string);
}
//集合
ArrayList<String> a = new ArrayList<String>();
a.add("hello");
a.add("javase");
a.add("world");
//增强for
for (String string : a) {
System.out.println(string);
}
}
}
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |