----------------------
ASP.Net+Android+IOS开发、
.Net培训、期待与您交流! ----------------------
===>NO.1
public class Test1 {
/**
* 去除ArrayList集合中的重复元素。
*/
public static void main(String[] args) {
ArrayList al=new ArrayList();
al.add("张三");
al.add("李四");
al.add("王五");
al.add("张三");
al.add("赵六");
al.add("王五");
al.add("田七");
System.out.println(al);
al=singleElement(al);
System.out.println(al);
}
private static ArrayList singleElement(ArrayList al){
//定义一个临时容器
ArrayList newal=new ArrayList();
for(Iterator it=al.iterator();it.hasNext();){
Object obj=it.next();
if(!newal.contains(obj)){ //contains:判断是否存在
newal.add(obj);
}
}
return newal;
}
}
===>NO.2
public class Test2 {
/**
* 往hashSet集合中存入自定对象
* 姓名和年龄相同为同一个人,重复元素。去掉重复。
*(set是无序,不可重复的,但是这个重复是有判断依据的,即hashCode值和equals)
*两个一模一样的对象其实它的hashCode不同,所以会添加成功,只要判断它的hashcode和equals都相同即可。
*/
public static void main(String[] args) {
HashSet hs=new HashSet();
hs.add(new Student("张三",20));
hs.add(new Student("李四",32));
hs.add(new Student("王五",24));
hs.add(new Student("张三",20));
for(Iterator it=hs.iterator();it.hasNext();){
Student st=(Student)it.next();
System.out.println(st.getName()+":"+st.getAge());
}
}
}
class Student{
private String name;
private int age;
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;
}
public int hashCode() {
return name.hashCode()+age*38;
}
public boolean equals(Object obj) {
Student stu=(Student)obj;
return this.name.equals(stu.name) && this.age==age;
}
}
===>NO.3
public class Test3 {
/**
* 使用LinkedList模拟一个堆栈或者队列数据结构。
*/
public static void main(String[] args) {
DuiLie dl=new DuiLie();
dl.myAdd("xia");
dl.myAdd("xiacker");
dl.myAdd("haha");
dl.myAdd("kobe");
while(!dl.isNull()){
System.out.println(dl.myGet());
}
}
}
class DuiLie{
private LinkedList link;
public DuiLie(){
link=new LinkedList();
}
public void myAdd(Object obj){
link.addFirst(obj);
}
public Object myGet(){
return link.removeFirst();
}
public boolean isNull(){
return link.isEmpty();
}
}
===>NO.4
public class Test4 {
/**
* 对字符串排序。"zxcvbasdfg"
* 思路:
* 1,字符串变数组。
* 2,数组排序。
* 3,数组变字符串。
*
*/
public static void main(String[] args) {
String str="zxcvbasdfg";
/*
char [] ch=str.toCharArray();
Arrays.sort(ch);
System.out.println(new String(ch));
*/
char[] ch=str.toCharArray();
sort(ch);
System.out.println(new String(ch));
}
public static void sort(char [] ch){
for(int i=0;i<ch.length-1;i++){
for(int j=i+1;j<ch.length;j++){
if(ch[i]>ch[j]){
char temp=ch[i];
ch[i]=ch[j];
ch[j]=temp;
}
}
}
}
}