package ZHANG.API;
import java.util.Enumeration;
import java.util.Hashtable;
public class MyKey {
private String name = null;
private int age = 0;
public MyKey(String string, int i) {
name = string;
age = i;
}
public int hashCode() {
return name.hashCode()+age;
}
public boolean equals(Object obj) {
if(obj instanceof MyKey){
MyKey objtem = (MyKey)obj;
if(name.equals(objtem.name) && age==objtem.age){
return true;
}else{
return false;
}
}else{
return false;
}
}
public String toString(){
return name +","+ age;
}
public static void main(String[] args) {
Hashtable ht = new Hashtable();
ht.put(new MyKey("yw",44), new Integer(1));
ht.put(new MyKey("yws",23), new Integer(4));
ht.put(new MyKey("yw",23), new Integer(1));
Enumeration e = ht.keys();
while(e.hasMoreElements()){
MyKey key = (MyKey) e.nextElement();
System.out.println(key+"->"+ht.get(key));
}
}
}
// Set ....与 集合排序
public class TestFiles {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*File file = new File("d:\\javatest");
ToSearchFiles(file);*/
ArrayList<String> set = ReadFile2("d:\\javatest", "large");
Iterator<String> iter = set.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
}
private static void ToSearchFiles(File file) {
if (file.isFile()) {
try {
if (file.getName().indexOf("eeeeee") > -1) {
System.out.println(file.getName() + "f");
}
} catch (Exception e) {
e.printStackTrace();
}
} if (file.isDirectory()) {
File[] files = file.listFiles();
for (File f : files) {
System.out.println(files.length);
ToSearchFiles(f);
System.out.println(f.getPath());
}
}
}
public static TreeSet<String> ReadFile(String path){
TreeSet<String> list = new TreeSet<String>(new Comparator<String>() {
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}
});
File fd = new File(path);
if(fd.exists()){
File[] fs = fd.listFiles();
for(File f: fs){
if(f.isFile()){
if(f.getName().substring(f.getName().lastIndexOf("_")+1).equals("small.jpg")){
list.add(f.getAbsolutePath());
}
}
}
}
return list;
}
public static ArrayList<String> ReadFile2(String path, String type){
ArrayList list = new ArrayList();
File fd = new File(path);
if(fd.exists()){
File[] fs = fd.listFiles();
for(File f: fs){
if(f.isFile()){
String fileName = f.getName();
if(fileName.endsWith("l.jpg") && type.equals("default")){
list.add(f.getAbsolutePath());
} else if(!fileName.endsWith("l.jpg") && fileName.endsWith(".jpg") && type.equals("large")) {
list.add(f.getAbsolutePath());
}
}
}
}
Collections.sort(list);
//Collections.reverse(list);
return list;
}
转载于:https://my.oschina.net/u/175434/blog/699975
分享到:
相关推荐
### set接口中hashCode和equals方法详解 #### 一、引言 在Java编程语言中,`Set`接口作为集合框架的重要组成部分,在实现无重复元素的数据结构方面扮演着关键角色。为了确保元素的唯一性,`Set`接口依赖于对象的`...
要注意的是List,Set,Queue继承了Collection接口,...这里想用一个简单的例子展示一下他们的使用,内容包括:List、Map、Set、Queue,Collections、Comparable与Comparator,排序、搜索,内部类,泛型、重写equals、hashCode
要求:将5个学生姓名写入一个Set集合中,学生具有学号,姓名以及成绩列表等属性。学生以学号区分。(注意hashcode与equals的定义,排序依据学号进行)。构造函数中随机生成学生成绩(10个成绩)。定义不同的...
在使用Set集合时,需要掌握的一些小技巧,例如如何自动生成hashcode和equals方法,如何使用TreeSet的排序功能,如何使用LinkedHashSet的有序功能等。 总结 Set集合是JavaSE中的一种重要数据结构,包括HashSet、...
至于集合排序,Java提供了SortedSet接口,实现了有序的Set集合。例如,TreeSet就是SortedSet的一个实现。如果Set集合中的元素不是String,而是自定义的`Person`对象,那么我们需要让`Person`类实现Comparable接口...
Java集合排序及java集合类详解 Java集合框架是Java编程语言中极其重要的一部分,它提供了存储和操作数据的高效方式。本文将深入探讨Java集合框架的四大核心组件:`Collection`、`List`、`Map`和`Set`,以及它们的...
Java中的Set集合简单汇总解析 Set接口简介: Set接口是Java集合框架中的一个重要接口,它继承自Collection接口,并没有对Collection接口进行功能上的扩充。Set接口的主要特点是元素无序,并且都会以某种规则保证...
- **覆写hashCode()**:为了确保键的唯一性,当使用自定义对象作为键时,需要重写equals()和hashCode()方法。 5. **Set** - Set接口不包含重复元素,且不保证元素顺序。 - **实现原理**:HashSet是最常见的Set...
Java中的Set集合是一种特殊的集合类型,它遵循了不存储重复元素的基本原则。Set接口是Collection接口的子接口,它的设计目标是确保集合中每个元素的唯一性。在Java中,Set接口有两个常用的实现类:HashSet和TreeSet...
Java Set集合是Java集合框架的重要组成部分,它存储不重复的元素。...在遍历Set集合时,可以使用迭代器或增强型for循环,而对于自定义类型的元素,记得重写`hashCode()`和`equals()`方法以确保正确存储和查找。
Set 集合是一种无序集合,不能存储重复元素。HashSet、LinkedHashSet 和 TreeSet 是 Set 集合的三个常用的实现类。HashSet 使用 Hash 表结构,查询速度快,但不保证元素的顺序。LinkedHashSet 继承了 HashSet,添加...
因此,通常需要覆写`hashCode()`和`equals()`方法以确保正确的键值匹配。 #### 五、Set **Set**接口是一个不允许重复元素的集合,它继承自Collection接口。 ##### 5.1 常用方法 Set接口提供了与Collection相同的...
Set接口继承自Collection接口,并且不保证集合中元素的顺序,某些Set实现可能会按照插入顺序或特定规则排序。以下是对Java Set实现的一些深入讨论: 1. **Set的实现类**: - `AbstractSet`:一个抽象类,实现了Set...
当自定义类作为集合元素时,为了正确实现元素的唯一性和比较,通常需要重写equals()和hashcode()方法。例如,Name类未重写这两个方法时,两个Name实例即使内容相同,也可能被视为不同对象,导致HashSet无法正确识别...
在Java编程中,Set接口是集合框架的一部分,它继承自Collection接口,主要用于存储不包含重复元素的集合。Set接口的实现类主要有HashSet、TreeSet和LinkedHashSet,它们各自有不同的特性和使用场景。 1. **HashSet*...
·玩转集合框架迭代器和HashCode和Equals重新排序 实战 ·实战teratori迭代器和自定义Comparable:排序接口 ·玩转ava操作文件File类常用操作 ·案例实战IO流Input、Output Stream流 ·详细常见Object、Math、String...
`HashSet`使用对象的`hashCode()`和`equals()`方法来确保元素的唯一性。当向`HashSet`中添加一个新元素时,首先会计算该元素的哈希码,然后将元素放置到哈希表的适当位置。如果两个元素的`equals()`方法返回`true`,...
Set集合是Java编程中常用的一种数据结构,它与List、Map同属于Java Collection框架的三大核心接口之一。Set集合的主要特性是存储的元素不允许重复,而且通常不保证元素的特定顺序。在本篇文章中,我们将深入探讨Set...
### JAVA集合(List, Set, Map)详解 #### 集合框架概述 Java集合框架是Java编程语言中处理数据组织的核心部分。它提供了一系列接口、抽象类和具体实现类,帮助开发者有效地管理对象集合。本篇文章将深入探讨集合框架...
##### 1.1 认识Set集合的特点 - **HashSet**:基于哈希表的实现,不保证元素的顺序,不允许重复元素。 - **LinkedHashSet**:基于哈希表和链表的实现,保持插入顺序,不允许重复元素。 - **TreeSet**:基于红黑树的...