Java : Problème d'ArrayList dans 1 ArrayList

Résolu/Fermé
gael_49 Messages postés 20 Date d'inscription mercredi 13 août 2008 Statut Membre Dernière intervention 4 février 2009 - 13 août 2008 à 17:16
gael_49 Messages postés 20 Date d'inscription mercredi 13 août 2008 Statut Membre Dernière intervention 4 février 2009 - 26 août 2008 à 15:01
Bonjour,
Je débute en Java et je n’arrive pas à obtenir une liste dans une liste.
En effet, j’ai une liste de documents avec des propriétés (la date, la taille…)
Je veux prendre dans cette liste, les documents de moins de deux semaines et les trier par date.
Pour ceci, Je pense que j’ai besoin de lister une première fois les documents et leurs propriétés (docprops) puis de mettre à nouveau le tout dans une liste (recentdoc)
Cependant j’obtiens le résultat suivant :

docprops:[Fri Aug 08 13:10:26 CEST 2008, 17] recentdoc:[ [ Fri Aug 08 13:10:26 CEST 2008, 17 ] ]

docprops:[Tue Aug 05 08:04:55 CEST 2008, 686] recentdoc:[[Tue Aug 05 08:04:55 CEST 2008, 686], [Tue Aug 05 08:04:55 CEST 2008, 686]]

docprops:[ Wed Jul 23 16:01:12 CEST 2008, 43] recentdoc:[[ Wed Jul 23 16:01:12 CEST 2008, 43], [Wed Jul 23 16:01:12 CEST 2008, 43]]

Je voudrais obtenir ceci :

docprops:[Fri Aug 08 13:10:26 CEST 2008, 17] recentdoc:[ [ Fri Aug 08 13:10:26 CEST 2008, 17 ] ]

docprops:[Tue Aug 05 08:04:55 CEST 2008, 686] recentdoc:[[ Fri Aug 08 13:10:26 CEST 2008, 17], [Tue Aug 05 08:04:55 CEST 2008, 686]]

docprops:[ Wed Jul 23 16:01:12 CEST 2008, 43] recentdoc:[[ Fri Aug 08 13:10:26 CEST 2008, 17], [Tue Aug 05 08:04:55 CEST 2008, 686]]



Voici le code :

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%@ page
import="org.jahia.services.webdav.JahiaWebdavBaseService,org.jahia.services.webdav.DAVFileAccess,java.util.*"
%>
<ul>
<%
DAVFileAccess myFolder = JahiaWebdavBaseService.getInstance().getDAVFileAccess(jParams, "/shared/");
List children = myFolder.getChildren();
List recentdoc = new ArrayList();
List docprops = new ArrayList();

for (Iterator it = children.iterator(); it.hasNext();) {
DAVFileAccess item = (DAVFileAccess) it.next();
docprops.clear();

// Date de dernière modification
String LastUpdatestr = item.getProperties().get("DAV:getlastmodified").toString();
// Taille du document
String Tailledoc = item.getProperties().get("DAV:getcontentlength").toString();
int size = Integer.parseInt(Tailledoc.substring(22, Tailledoc.length())) / 1024;
//Date du document
Locale loc;
loc = new Locale("EN");
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss", loc);
Date datedoc = sdf.parse(LastUpdatestr.substring(26, 46));

//Initialisation de la date du jour
String dateJour = sdf.format(new Date());
//Initialisation du Calendar
Calendar cal = Calendar.getInstance();
//Recuperation de la date J-14
cal.add(Calendar.DAY_OF_MONTH, -14);
//Formattage de la date J-14
String strdatedeuxsemaines = sdf.format(cal.getTime());
Date datedeuxsemaines = sdf.parse(strdatedeuxsemaines);
boolean timedeadline = datedoc.after(datedeuxsemaines);

docprops.add(datedoc);
docprops.add(size);

if (timedeadline == true) {
recentdoc.add(docprops);
}
%>
<tr>
<td> docprops:<%= docprops %> </td>
<td><font color="red"> recentdoc:<%= recentdoc %> </font></td>
</tr>
<tr height="5"><td colspan="2"> </td></tr><%
}
%>
</ul>
</table>

recentdoc.add(docprops); ne doit pas être la bonne solution mais je n’ai pas d’autres solutions.
Merci pour votre aide
A voir également:

1 réponse

gael_49 Messages postés 20 Date d'inscription mercredi 13 août 2008 Statut Membre Dernière intervention 4 février 2009 1
26 août 2008 à 15:01
J'ai créé une classe et je n'ai plus mon problème !!
1